老男孩运维学习笔记-mysql主从同步的配置

做~自己de王妃 提交于 2019-11-27 14:05:31

mysql主从同步的配置

主要实现单向主从同步模式的实现,原理图如下

 

主库(master):192.168.221.128

从库(slave):192.168.221.129

 

配置步骤:

1)

①、编辑主库my.cnf文件

[root@master~]# egrep "log-bin|server-id" /etc/my.cnf
server-id = 1 确保和从库不一样
log-bin=mysql-bin 需要打开,注意路径,一般位于data目录

 进入mysql数据库查看log-bin是否开启

mysql> show variables like 'log_bin';

 

②、确保从库my.cnf里server-id与主库不同(这里slave的log-bin我没开启)

egrep "log-bin|server-id" /etc/my.cnf

 

 2)建立用于从库复制的账号rep

mysql> grant replication slave on *.* to 'rep'@'192.168.221.%' identified by '111111';

mysql> flush privileges;

mysql> select user,host from mysql.user;

 

 3)

①、主库备份数据库

mysql> flush table with read lock;  加锁(5.5是table,5.1 是tables注意版本区别)

mysqldump -h 192.168.221.128 -uroot -p111111 -B  ss3000cms --events --master-data=2 >/rep.sql

 ps:这里我只备份了ss3000cms库,-B表示备份数据结构和内容,--events表示事件(这里还不是很了解),master-data=2表示sql语句change前加注释--

②、vi /rep.sql

master查看状态

 

确定POS相同后,取消锁

mysql> unlock tables;

ps:主库mysql>  show variables like 'wait_timeout';是控制锁表时间的,默认是28800(8小时),

修改语句是set global with_timeout = 10(修改为10s);

 

 4)

①、将主库备份的sql文件scp到从库对应目录(/opt),执行灌数据操作

mysql -uroot -p111111 </opt/rep.sql 

②、从库执行change master语句

CHANGE MASTER TO
MASTER_HOST='192.168.221.128',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='111111',
MASTER_LOG_FILE='mysql-bin.000010',
MASTER_LOG_POS=338;

③、最后从库打开开关

mysql> start slave;

 

5)查看状态

查看线程:mysql>show processlist

master端:mysql>show master status

slave端:mysql>show slave status\G

 

 至此配置完毕,生厂场景需要注意my.cnf参数,如忽略一些错误

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!