1.主服务器
(1)主服务器my.ini文件配置:
server-id=1
log-bin = mysql-bin
binlog-do-db = test
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = performance_scheme
binlog-ignore-db = information_scheme
binlog_format=row
之后重启服务器
(2)锁表:
#全局锁表操作
Flush tables with read lock
防止position状态码改变
(3)查看主服务器状态
SHOW MASTER STATUS
注:position需要用在从服务器的配置中需要使用
(4)创建从服务器用户名密码
CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘123456’;
注:%表示所有ip均可访问
从服务器配置:
server-id=2
log-bin = mysql-bin
binlog-do-db = test
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = performance_scheme
binlog-ignore-db = information_scheme
binlog_format=row
除之外还可以配置只读,注意:主要是server-id不能和主服务器相同,
配置之后重启服务器
(5)
在mysql的客户端命令行中执行以下命令:
【1】停止主从复制:
stop slave;
【2】修改主从复制信息
change master to master_host=‘192.168.0.101’,master_user=‘repl’,master_password=‘123456’,master_log_file=‘mysql-bin.000002’,master_log_pos=928;
注意:此处master_log_pos配置的是主服务器的postion状态值
【3】
重启主从复制服务:
start slave;
【4】查看主从复制状态
show slave status\G(不能加分号,会报错)
结尾处报错:
中间描述信息报错解决方案:
若报错:
Master command COM_REGISTER_SLAVE failed: Access denied for user ‘repl’@’%’ (using password: YES) (Errno: 1045)
错误原因:从服务器权限不足,在主服务器配置权限
在主服务器的客户端执行:
GRANT REPLICATION SLAVE ON . TO ‘repl’@’%’;
flush privileges;
若报错:
error connecting to master ‘repl@192.168.0.101:3306’ - retry-time: 60 retries: 2 message: Authentication plugin ‘caching_sha2_password’ reported error: Authentication requires secure connection.
错误原因:密码加密方式不支持,
在主服务器执行以下命令:
ALTER USER ‘repl’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
FLUSH PRIVILEGES;
最后在主服务器解锁表
unlock tables;
以上就是mysql主从复制的全部配置******