MySQL主从复制(Master-Slave)
事先准备:
操作系统:MacOS10.12.6
配置虚拟机:VirtualBox
虚拟机:安装CentOS-7-x86_64-Everything-1804.iso
linux已经安装:lamp 一键安装地址https://lamp.sh/install.html
虚拟机服务器说明
虚拟机主服务器IP地址:192.168.1.117
虚拟机从服务器IP地址:192.168.1.118
1.虚拟机主服务器配置
1.1 主机ssh到虚拟机主服务器 ssh [email protected]
1.2修改虚拟主机主服务器配置文件,在[mysqld]后面添加server-id = 117
vi /etc/my.cnf
1.3开启虚拟主机服务器 /etc/init.d/mysqld start
1.4命令行登录虚拟机主服务器 mysql -uroot -proot
1.5授权给虚拟机从数据库服务器192.168.0.118
Mysql> grant replication slave on *.* to [email protected]‘192.168.0.118’ identified by ‘123456’;
1.6查询虚拟机主数据库状态(如果发现是空,参考https://blog.****.net/liulihui1988/article/details/79045735)并记录File和Position值
Mysql> show master status;
至此 虚拟机主服务器配置完毕
2.虚拟机从服务器配置
2.1 ssh到[email protected](图略)
2.2修改从服务器配置文件在 [mysqld]后面添加server-id = 118 确保这个id没有其他服务器使用(图略)
vi /etc/my.cnf
2.3开启服务器/etc/init.d/mysqld start(图略)
(如果需要重启 则/etc/init.d/mysqld restart)
(如果需要停止 则/etc/init.d/mysqld stop)
2.4命令行登录虚拟机从服务器(图略)
2.5执行同步sql语句
mysql> change master to
master_host='192.168.0.117',
master_user='root',
master_password=‘123456’,
master_log_file='mysql-bin.000007’,
master_log_pos=120;
2.6.正确执行后启动Slave同步进程
mysql> start slave;
2.7.主从同步检查
mysql> show slave status\G
只要其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
可能遇到的错误
1.Last_IO_Error: error connecting to master
解决办法:可以自行百度
2.The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
解决办法:auto.cnf删掉,可以查看https://blog.****.net/lvshanhshan/article/details/80529777
本文参考网址
https://www.cnblogs.com/fyc119/p/7529902.html