MySQL主从复制配置记录
准备阶段
- 两台服务器:(主master)192.168.1.2;(从slave)192.168.1.3
- MySQL版本最好一样,不一样没关系,但
一定要保证版本都在5.6.x及以上 - 注意防火墙
- 注意放行
3306端口 - 注意要开启MySQL远程连接权限
- 注意主从库的数据要保证一致
配置主服务器
配置文件
/etc/my.cnf配置信息
vim /etc/my.cnf在
[mysqld]下面配置如下:server-id=1 #必须。设置服务器id,为1表示主服务器。规范为服务器IP的最后段(一般文件里已存在,修改就行,没有加上) log_bin=mysql-bin #必须。启动MySQL二进制日志系统。(一般文件里已存在,修改就行,没有加上) binlog-do-db=jiajiale_dskjwl_ #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行。 binlog-ignore-db=mysql #不同步mysql系统数据库。:wq! 保存退出进入MySQL终端
mysql -u root -p新建一个MySQL用户
salve(下面从服务器要用到此配置)
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.%' IDENTIFIED BY 'slave'; 这里的IP是从服务器IP
刷新权限(很重要!不要漏掉!)
mysql> flush privileges;重启MySQL服务
service mysql restart再次回到MySQL终端,执行
mysql> show master status;

红框内的值从服务器要用到,很重要。此时不要再动主服务器了,以免position值变动。
配置从服务器
配置文件
/etc/my.cnf配置信息
vim /etc/my.cnf在
[mysqld]下面配置如下:server-id=2 #必须。设置服务器id,为2表示从服务器。规范为服务器IP的最后段(一般文件里已存在,修改就行,没有加上) log_bin=mysql-bin #必须。启动MySQL二进制日志系统。(一般文件里已存在,修改就行,没有加上) binlog-do-db=jiajiale_dskjwl_ #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行。 binlog-ignore-db=mysql #不同步mysql系统数据库。:wq! 保存退出重启MySQL服务
service mysql restart进入MySQL终端
mysql -u root -p执行
mysql> change master to master_host='192.168.1.2',master_user='slave',master_password='slave',master_log_file='mysql-bin.000065',master_log_pos=154;停止slave从库
mysql> stop slave;最好执行一下 第一次操作可忽略
启动slave从库
mysql> start slave
- 查看slave
mysql> show slave status \G 注意此处不要分号
结果如下图:

当Slave_IO_Running和Slave_SQL_Running都为Yes时才算成功!
测试
省略…
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: