四:linux之mysql57二进制日志主从复制

linux之mysql57二进制日志主从复制

1 两台mysql 一台主一台从

2 主服务器配置

vim /etc/my.cnf

[mysqld]

log-bin=mysql-bin

server-id=1    

sync-binlog=1    写入操作同步 默认为 1

innodb_flush_log_at_trx_commit=1  默认为1

server-id其他机器不能重复,log-bin二进制日志是将更改主服务器复制到从服务器的基础

sync-binlog默认1, innodb_flush_log_at_trx_commit=1默认1

binlog-ignore-db=performance_schema,sys   不同步那些库

binlog-do-db=yumeko 同步那些库

systemctl restart mysqld   重启mysql服务


2 在主创建用于复制的用户

create user 'root'@'%.example.com'  identified by 'password';   创建用于复制的用户

grant replication slave on *.* to 'root'@'%' identified by 'Yumeko213@';  赋予权限

flush privileges;   刷新权限

flush tables with read lock ; 它会阻止 表的COMMIT操作 InnoDB。

unlock tables; 释放锁

show master status;  查看 master 状态 在从服务器设置关联时候用到 master_log_file 和 master_log_pos

3 在从服务器配置

[mysqld]

vim etc/my.cnf

server-id=2

relay_log=mysql-relay-bin

read_only=1  不是必须 可动态设置

relay_log中继日志从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器

show variables like '%relay%';查看relay的所有相关参数

read_only只读    一般在从服务器 动态设置 SET @@GLOBAL.read_only = ON;

systemctl restart mysqld 重启服务器

show slave status; 查看 slave 状态 开始为空

stop slave; 关闭从库

设置关联 master_log_file 和 master_log_pos 是 主库 show master status中的 file 和 Position

change master to master_host='192.168.106.132',master_port=3306,master_user='root',master_password='Yumeko213@',master_log_file='mysql-bin.000001',master_log_pos=154; 

start slave; 开启从库

show slave status \G 查看 slave 状态

4 注意事项

(1)Slave_IO_Running: NO

Fatal error: The slave I

/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593

原因是克隆的问题在从库

find -name auto.cnf  查询命令找此auto.cnf修改uuid即可:

service mysqld restart  重新启动mysql

stop slave;

start slave;

show slave status \G;

(2)Slave_SQL_Running: No 在从库

stop slave;

set global SQL_SLAVE_SKIP_COUNTER=1;

start slave;

show slave status \G;

5 多从库是 先备份数据 在 做从库

mysqldump --help

mysqldump --all-databases > mysql_backup_all.sql

你可能感兴趣的:(四:linux之mysql57二进制日志主从复制)