1、mysql主从同步(为后面实现读写分离,MMM高可用集群作基础)
mysql
主库配置:主库的IP地址:192.168.4.111sql
一、首先给用户受权,用来实现同步时,从库链接主库的用户名:数据库
grant replication slave on *.* to tongbu@"%" identified by "123456";vim
//受权tongbu这个用户在全部的从库上都有复制权限,并设置密码服务器
二、启用binlog日志:vim /etc/my.cnfide
server_id=111 //指定编号测试
log-bin=master111 //指定日志文件名,启用binlog日志spa
binlog-format="mixed" //日志类型命令行
三、重启数据库服务:线程
四、查看正在使用binlog日志文件:show master status\G;
从库配置:从库的IP地址:192.168.4.112
一、查看本身是不是主从数据库
show master status; show slave status;
二、测试主数据库的受权用户是否有效,看可否登录
三、在配置文件里面添加server_id=112,并重启服务
四、在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; //偏移量
五、启动从服务:start slave;
六、show slave status\G //查看从的状态,确认下面的两行都是yes
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
七、测试同步效果:
在主服务器上,建立库,表,插入记录,查看从服务器上是否数据同样。
2、关于日志文件的一些信息
一、几个常见的日志文件
112-relay-bin.000006 //中继日志文件
112-relay-bin.index //中继日志文件索引
relay-log.info //中继日志
master.info //主库信息
二、如何把从库恢复成独立的服务器:
stop slave; reset slave all;
三、关于线程和程序的一些信息
IO线程:把master库的binlog日志内容记录到本机的relay-binlog日志里
sql线程:把relay-binlog日志里的sql命令写到本机的库
show processlist; Binlog Dump //查看主上运行的程序,而后能够看到binlog dump程序
show processlist; Connect //能够查看从库上运行的程序
3、主从同步经常使用参数(/etc/my.cnf)
一、主库:binlog_do_db=数据库名 //只容许同步的库
binlog_ignore_db=数据库名 //不一样步的库
二、从库:开启级联复制(log_slave_updates)主从从结构的第一台从库上配置
同步个别的数据库(replicate_do_db=数据库名)
不一样步的库(replicate_ignore_db=数据库名)