二进制安装MySQL数据库
今天安装的是二进制的mysql包5.7.21的包,在配置文件的时候采了好多坑,左后还是搞定了,来和大家分享一下
二进制msyql5.7.21版本的主从复制安装
新建/picclife目录
mkdir /picclife
新建/picclife/data 目录
mkdir /picclife/data
创建用户和组 为mysql
groupadd mysql
useradd -g mysql mysql
将二进制mysql的包传到/picclife的目录下
解压软件包
tar -zxf 二进制包
改名
mv 解压出来的包 mysql
加属组属主
chown -R mysql:mysql mysql
配置环境变量
vim /etc/profile
mysql_home=/picclife/mysql
export PATH=$PATH:$mysql_home/bin
生效
source /etc/profile
编辑配置文件
vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
##default-character-set = utf8
[mysql]
port = 3306
socket = /tmp/mysql.sock
#default-character-set = utf8
[mysqld]
# GENERAL #
default_storage_engine = InnoDB
#character-set-server = utf8
#collation-server = utf8_unicode_ci
basedir = /picclife/mysql
datadir = /picclife/data
socket = /tmp/mysql.sock
pid-file = /picclife/data/mysql.pid
port=3306
# SAFETY #
skip_name_resolve
max_allowed_packet = 16M
max_connect_errors = 100000
lower-case-table-names = 1
# BINARY LOGGING #
server-id = 1 #server id
log_bin = mysql-bin #开启二进制日志
relay_log = relay-bin #开启中级日志
expire_logs_days = 14
sync_binlog = 1
binlog_format = ROW
transaction_isolation = READ-COMMITTED
relay_log_info_repository = TABLE
master_info_repository = TABLE
# REPLICATION #
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = 1
#SEMI_SYNC
#rpl_semi_sync_master_enabled=1
#rpl_semi_sync_master_timeout=10000 # 1 second
# CACHES AND LIMITS #
tmp_table_size = 256M
max_heap_table_size = 256M
query_cache_type = 0
query_cache_size = 0
max_connections = 5000
thread_cache_size = 1000
open_files_limit = 65535
table_definition_cache = 2048
table_open_cache = 2048
sort_buffer_size = 2M
sql_mode = NO_ENGINE_SUBSTITUTION
# INNODB #
innodb_flush_method = O_DIRECT
innodb_log_files_in_group = 2
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table = 1
innodb_buffer_pool_size = 10G
innodb_stats_on_metadata = 0
innodb_buffer_pool_instances = 4
# LOGGING #
log_error = /picclife/data/mysql-error.log
#log_queries_not_using_indexes = 1
slow_query_log = 1
slow_query_log_file = /picclife/data/mysql-slow.log
long_query_time = 2
log_error_verbosity=2
wait_timeout = 7200
[mysqldump]
user=root
password=123456
安装数据库
./bin/mysqld --initialize --user=mysql --basedir=/picclfie/mysql --datadir=/picclife/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
创建启动文件
cp /picclife/mysql/support-files/mysql.server /etc/init.d/mysqld
修改/etc/init.d/mysql

加入到开机启动项
chkconfig --add mysqld
设置开机启动
chkconfig mysqld on
开启mysql
service mysqld start
启动也可以
(
数据库常规启停
mysqladmin -uroot -proot shutdown
mysqld_safe --defaults-file=/etc/my.cnf &
ps -ef|grep mysql
)
查看默认密码
grep -i password /picclife/data/mysql-error.log
用初始化密码登陆数据库修改密码
mysql -uroot -p查到的密码
修改密码
SET PASSWORD=PASSWORD(‘密码‘);
flush privileges;
然后推出可以用新改的密码登陆了
主的配置文件 已经修改好了,进入数据库授权
给从服务器slave复制的权限:
grant replication slave on *.* to tom@”从的ip” identified by “123”;
刷新权限:
glush privileges;
查看主服务器master的状态已得到二进制的名和位置:
show master status;

主就配置好了开始配置从:
从的二进制安装mysql和住的一样
就是配置文件里的server id 不能冲突 可以开启二进制日志也可以不开启,但必须开启中继日志relay_log = mysql-relay
vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
##default-character-set = utf8
[mysql]
port = 3306
socket = /tmp/mysql.sock
#default-character-set = utf8
[mysqld]
# GENERAL #
default_storage_engine = InnoDB
#character-set-server = utf8
#collation-server = utf8_unicode_ci
basedir = /picclife/mysql
datadir = /picclife/data
socket = /tmp/mysql.sock
pid-file = /picclife/data/mysql.pid
port=3306
# SAFETY #
skip_name_resolve
max_allowed_packet = 16M
max_connect_errors = 100000
lower-case-table-names = 1
# BINARY LOGGING #
server-id = 2 #server id
log_bin = mysql-bin #开启二进制日志
relay_log = relay-bin #开启中级日志
expire_logs_days = 14
sync_binlog = 1
binlog_format = ROW
transaction_isolation = READ-COMMITTED
relay_log_info_repository = TABLE
master_info_repository = TABLE
# REPLICATION #
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = 1
#SEMI_SYNC
#rpl_semi_sync_master_enabled=1
#rpl_semi_sync_master_timeout=10000 # 1 second
# CACHES AND LIMITS #
tmp_table_size = 256M
max_heap_table_size = 256M
query_cache_type = 0
query_cache_size = 0
max_connections = 5000
thread_cache_size = 1000
open_files_limit = 65535
table_definition_cache = 2048
table_open_cache = 2048
sort_buffer_size = 2M
sql_mode = NO_ENGINE_SUBSTITUTION
# INNODB #
innodb_flush_method = O_DIRECT
innodb_log_files_in_group = 2
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table = 1
innodb_buffer_pool_size = 10G
innodb_stats_on_metadata = 0
innodb_buffer_pool_instances = 4
# LOGGING #
log_error = /picclife/data/mysql-error.log
#log_queries_not_using_indexes = 1
slow_query_log = 1
slow_query_log_file = /picclife/data/mysql-slow.log
long_query_time = 2
log_error_verbosity=2
wait_timeout = 7200
其余的按爪功你安装和主的一样
进入数据库
进入数据库:
关闭slave:
stop slave;
设置master的host user 二进制的名字位置等:
change master to master_host=”主的ip”,master_user=”tom”,mster_password=”123”,
master_log_file=”mysql-bin.000002”,master_log_pos=106;
开启slave
start slave;
查看slave的状态:

现在主从复制完成,可以在主上创建库。从上查看
注意:如果以上配置文件启动报错,就使用最下面的配置
二进制mysql安装5.7.20的配置文件
vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server_id=1
port = 3306
user = mysql
character-set-server = utf8mb4
default_storage_engine = innodb
log_timestamps = SYSTEM
socket = /tmp/mysql.sock
basedir = /picclife/mysql
datadir = /picclife/data
pid-file = /picclife/data/mysql.pid
max_connections = 5000
max_connect_errors = 10000
table_open_cache = 2048
max_allowed_packet = 16M
open_files_limit = 65535
####====================================[innodb]==============================
innodb_buffer_pool_size = 10G
innodb_file_per_table = 1
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
innodb_max_dirty_pages_pct = 80
innodb_lock_wait_timeout = 30
innodb_data_file_path=ibdata1:1024M:autoextend
innodb_undo_tablespaces=3
#####====================================[log]==============================
log_error = /picclife/data/mysql-error.log
slow_query_log = 1
long_query_time = 2
slow_query_log_file = /picclife/data/mysql-slow.log
sql_mode=NO_ENGINE_SUBSTITUTION
二进制安装MySQL数据库的更多相关文章
- 二进制包安装MySQL数据库
1.1二进制包安装MySQL数据库 1.1.1 安装前准备(规范) [root@Mysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径 [ ...
- CentOS下安装Mysql数据库
其实,安装mysql数据库还是比较容易的,安装方式可以分为源码安装和二进制包安装.安装简单,只需要 yum安装几个包就可以搞定,安装后续其实还需要简单做些工作,才可以使用. 环境:CentOS 6.5 ...
- 二进制安装MySQL及破解密码
二进制安装MySQL及破解密码 1.确保系统中有依赖的libaio 软件,如果没有: yum -y install libaio 2.解压二进制MySQL软件包 tar xf mysql-5.7.24 ...
- Linux环境安装MySQL数据库
1. 下载mysql安装包 下载地址1: http://www.mysql.com/ (mysql官网) 下载地址2: http://mirrors.sohu.com/mysql/ (其 ...
- CentOS7安装mysql数据库
安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...
- Centos6.4下Yum命令安装Mysql数据库及配置
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了 如果要开发web项目,我们当然可以安装一个 ...
- Linux下安装MySQL数据库以及用C语言编程存取数据库
ubuntu下安装软件相当简单,一条简单的 apt-get install 就可以解决,相比源码安装方式唯一的缺点就是,你无法自定义软件的安装目录.不过这也不是什么太大的缺点.下面我们就用 apt-g ...
- Linux系统上安装mysql数据库
一:下载并且上传安装包到linux系统上 1:下载地址:http://dev.mysql.com/downloads/mysql/ 2:通过LeapFtp工具,将windows上的mysql安装包拷贝 ...
- 可以自动安装mysql数据库的一个shell脚本
发布:thatboy 来源:脚本学堂 [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...
随机推荐
- nginx 番外----添加第三方模块
#第三方模块需要先进行下载,然后再编译时指定文件目录 1.查看当前编译模块 root@nginx sbin]# ./nginx -V #查看当前添加模块 nginx version: nginx/ b ...
- Docket 使用命令
Docket 使用命令 查 # 查询当前可以下载的镜像 docker search httpd |_ NAME:镜像仓库源的名称 |_ DESCRIPTION:镜像的描述 |_ OFFICIAL:是 ...
- git 分支命名规范
为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 主要规范两点: git 分支命名规范 git 提交记录规范 1. git 分支命名规范 git 分支 ...
- 剑指offer(48)不用加减乘除做加法
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 题目分析 不用加减乘除做加法,我第一时间想到的就是用位运算,毕竟计算机是二进制的,所有的操作都是以位运算为基础 ...
- JS(JavaScript)的初了解5(更新中···)
1.函数 关键词function 首先,我们先复习一下前面的知识: var 是JS的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成. var可以在内存模块提前(JS代码执行前)完 ...
- UVA11468 Substring
思路 AC自动机+概率dp 设f[i][j]表示当前在第i位在AC自动机的第j个节点,满足条件的概率 AC自动机上的一个节点能被转移到当且仅当这个节点不是中止节点且无法通过fail指针跳到任何一个中止 ...
- CSS【06】:CSS显示模式
div和Span标签 作用:一般用于配合css完成网页的基本布局 <style> .header{ width: 980px; height: 100px; background: red ...
- Cookie和Seesion
会话跟踪技术 1 什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10 ...
- mac git 删除本地仓库文件
递归清除本地文件夹下的Git文件,如果想重新建立仓库,那么在重新初始化新建的git仓库 //删除文件夹下的所有 .git 文件 find . -name ".git" | xarg ...
- Intellij IDEA创建git,maven的SpringMVC项目
Intellij IDEA创建git,maven的SpringMVC项目 原文链接:http://www.cnblogs.com/blog5277/p/8906120.html 原文作者:博客园--曲 ...