一、什么是主从复制( 读写分离)
至少需要2台mysql服务器,一台配置为主服务器,一台配置为从服务器,主服务器的数据要同步到从服务器。
二、主从复制的原理
mysql中有一种日志,叫做bin日志(二进制日志),会记录下所有修改过数据库的sql语句。主从复制的原理实际是多台服务器都开启bin日志,然后主服务器会把执行过的sql语句记录到bin日志中,之后把这个bin日志发给从服务器,在从服务器再把bin日志中记录的sql语句同样的执行一遍。这样从服务器上的数据就和主服务器相同了。
配置主从复制
规划:
xpslave1是master服务器:ip地址是:192.168.21.250
xpslave2是slave服务器,ip地址是192.168.21.252
1、配置主服务器
(1)开启所有mysql服务器的log-bin日志
修改配置文件添加
log-bin=mysql-bin
(2)每台服务器设置一个唯一的server-id的值。并重启服务。
主服务器的配置:
(3)在主服务器上面授权一个用户,让从服务器使用该用户来完成复制日志。
语法:
grant replaction slave on *.* to ‘dalong’@’%’ identified by ‘123456’
2、配置从服务器
(1)先停止从服务器:
stop slave
(2)开始执行同步的操作命令
change master to master_host=”主服务器的ip地址”,master_user=”授权的用户名称”,master_password=”授权用户的密码”,master_log_file=”最新的 log-bin日志文件名称”,master_log_pos=”log-bin日志文件里面最后一个pos位置”
(3)启动从服务器
start slave
(4)查看从服务器是否同步成功;
show slave status;
3、如何取消从服务器:
在从服务器里面操作:
(1)停止从服务器:
stop slave
(2)执行reset slave all 取消从服务器