一、mysql主从同步(为后面实现读写分离,MMM高可用集群做基础)
主库配置:主库的IP地址:192.168.4.111
1、首先给用户授权,用来实现同步时,从库连接主库的用户名:
grant replication slave on *.* to tongbu@"%" identified by "123456";
//授权tongbu这个用户在所有的从库上都有复制权限,并设置密码
2、启用binlog日志:vim /etc/my.cnf
server_id=111 //指定编号
log-bin=master111 //指定日志文件名,启用binlog日志
binlog-format="mixed" //日志类型
3、重启数据库服务:
4、查看正在使用binlog日志文件:show master status\G;
从库配置:从库的IP地址:192.168.4.112
1、查看自己是否是主从数据库
show master status; show slave status;
2、测试主数据库的授权用户是否有效,看能否登陆
3、在配置文件里面添加server_id=112,并重启服务
4、在mysql命令行下,更改配置,配置主库相关信息
change master to
-> master_host='192.168.4.111', //主库的地址
-> master_user='tongbu', //连接的用户名
-> master_password='123456', //密码
-> master_log_file='111-bin.000001', //日志文件名称
-> master_log_pos=154; //偏移量
5、启动从服务:start slave;
6、show slave status\G //查看从的状态,确认下面的两行都是yes
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
7、测试同步效果:
在主服务器上,创建库,表,插入记录,查看从服务器上是否数据一样。
二、关于日志文件的一些信息
1、几个常见的日志文件
112-relay-bin.000006 //中继日志文件
112-relay-bin.index //中继日志文件索引
relay-log.info //中继日志
master.info //主库信息
2、如何把从库恢复成独立的服务器:
stop slave; reset slave all;
3、关于线程和程序的一些信息
IO线程:把master库的binlog日志内容记录到本机的relay-binlog日志里
sql线程:把relay-binlog日志里的sql命令写到本机的库
show processlist; Binlog Dump //查看主上运行的程序,然后可以看到binlog dump程序
show processlist; Connect //可以查看从库上运行的程序
三、主从同步常用参数(/etc/my.cnf)
1、主库:binlog_do_db=数据库名 //只允许同步的库
binlog_ignore_db=数据库名 //不同步的库
2、从库:开启级联复制(log_slave_updates)主从从结构的第一台从库上配置
同步个别的数据库(replicate_do_db=数据库名)
不同步的库(replicate_ignore_db=数据库名)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。