码迷,mamicode.com
首页 > 数据库 > 详细

MySQL主从同步的配置

时间:2019-08-17 00:32:37      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:nbsp   路径   list   select   sele   global   不同   开关   ESS   

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参数,如忽略一些错误技术图片

 

MySQL主从同步的配置

标签:nbsp   路径   list   select   sele   global   不同   开关   ESS   

原文地址:https://www.cnblogs.com/daixubinbin/p/11366821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!