前提:windows环境,同一个服务器安装多个相同版本的mysql数据库
多个MySQL服务搭建完成后,下面我们进行主从复制的相关配置
1.主数据库
执行指令
#创建用户
CREATE USER 'slave'@'localhost' IDENTIFIED BY '123456';
#授权
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost';
#刷新
FLUSH PRIVILEGES;
然后查看主服务器的二进制日志文件名和位置:
show master STATUS;
记住File和Position值,后续要用
2.从数据库
执行以下指令:
连接到主服务器,其中master_log_file 和master_log_pos 的值就是上一步记录的
#master_host 主数据库地址
CHANGE MASTER TO master_host ='127.0.0.1',
#上一步中主数据库创建的从库用户
master_user ='slave',
#上一步中主数据库创建的从库密码
master_password ='123456',
#上一步中保存的file
master_log_file ='txmysql-bin.000004',
#上一步中保存的position
master_log_pos = 10769;
启动复制:
start slave;
查看从服务器复制进程是否已启动:
show slave status;
Slave_IO_Running和Slave_SQL_Running的值都为“YES”,则表示从服务器已经成功连接到主服务器并开始复制。
后面就是正常的主数据发生表或者数据的变化,从数据库就自动更新变化
其他指令:
#停止复制
stop slave;
#重置初始化复制
RESET slave;
如果出现异常,查看Last Error和Last_IO_Error 两个字段内的异常错误信息