参考:
https://www.jianshu.com/p/8903423f78ed
主从配置:
1、配置主服务器
步骤1:修改配置文件,开启binlog日志--备注①
步骤2:修改配置文件,设置一个server_id=数字(注:数字必须唯一)
如:
[mysqld]
server_id=1
步骤3:重启服务
步骤4:创建用户(目的,让从服务器来复制数据)
mysql8以下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'copy'@'%' IDENTIFIED BY 'copy' WITH GRANT OPTION;
mysql8:
创建用户:
mysql> create user 'copy'@'%' identified by 'copy';
授权:
mysql> grant all privileges on *.* to 'copy'@'%' with grant option;
修改数据表里面的host:
mysql> GRANT ALL ON *.* TO 'copy'@'%';
mysql8加密方式不一样,需要修改加密方式才能访问:
mysql> ALTER USER 'copy'@'%' IDENTIFIED WITH mysql_native_password BY 'copy';
mysql> FLUSH PRIVILEGES;
步骤5:关闭防火墙或开放3306端口
2、配置从服务器
步骤1:修改配置文件,设置一个server-id=数字(注:数字必须唯一)
如:
[mysqld]
server_id=2
步骤2:重启服务
步骤3:通过change master 语句指定同步主位置
-> 切换到主服务器并查看当前主服务器信息,通过SQL语句:【show master status】得到file和position信息
-> 切换到从服务器执行同步语句
mysql> change master to master_host='192.168.10.10',master_user='copy',master_password="copy",master_port=3306,master_log_file='mysql-bin.000018',master_log_pos=1528;
步骤4:开启同步
mysql> start slave;
步骤5:验证
mysql> show slave status\G;
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
两个Yes就是成功,如果不成功,可以参考下面的注意事项
注意:
一,首次启动出现错误
1,可以重新登陆MySQL然后重启slave服务尝试。
2,如果使用的是虚拟机克隆的两个系统,则MySQL是一样的,也会报错’UUIDs’问题,需要删除MySQL数据目录下的auto.cnf然后重启(注:重启后会自动创建一个唯一的uuid),然后重启mysql服务即可
二,重启机器出现错误
1,如果机器重启,可能需要手动同步:
mysql> stop slave;
2,再到master服务器:
mysql> show master status; 得到目前主机状态
3,到从服务器手动同步:
mysql> change master to master_host='192.168.10.10',master_user='copy',master_password="copy",master_port=3306,master_log_file='mysql-bin.000018',master_log_pos=2412;
4,重启同步:
start slave;
5,验证是否成功:
mysql> show slave status\G;
/*****************************************备注**********************************************/
备注①:
1,主服务器开启binlog日志,也可以先查看(step3)
[mysqld]
log-bin=mysql-bin
2,重启服务
service mysql restart
3,查看是否开启
show VARIABLES like 'log_bin';
列表:show master logs
清空:reset master
刷新:flush logs
查看指定日志:show binlog events in '日志键名(mysql-bin.000016)'
来源:https://www./content-2-372051.html
|