mysql主从同步: 让其他数据库去同步当前正被访问的数据。(做主从同步的时候,数据库版本需要一致,否则会出现错误)
防火墙的关闭: setenforce 0
systemctl stop firewalld
配置主数据库master 例:192.168.2.68
1.添加授权用户
mysql>
grant replication slave on *.* to slaveuser@"192.168.2.77" identified by "1234";
2.启用binlog 日志,设置server_id(一个库,一个id)
3.备份主库
配置从数据库 192.168.2.77
1. 验证授权(能够登录上,则授权成功)
# mysql -h192.168.2.68 -uslaveuser -p1234
mysql>
2. 指定server_id 不能和主重复
server_id = 2 // 必须的
relay_log = mysql-relay-bin //配置中继日志
log_slave_updates = 1
read_only = 1 防止改变数据
3.更改配置后需要重新启动数据库
4.mysql > show slave status; 是否是从库
5.需要从主机上面查出日志文件和位置 show master status;
change master to master_host="192.168.2.68", master_user="slaveuser",master_password="1234",master_log_file="master68.00001",master_log_pos=154;
6.mysql> start slave; // 启动进程 stop slave 关闭同步
7.mysql>show slave statusG;
Slave_IO_Running:yes Slave_SQL_Running:yes 说明成功了
回复独立数据库:
#rm -rf master.info
xxxx-relay-bin.xxxx
xxxx-relay-bin.index
relay-log.info
重新启动数据库就ok!
级联复制 log_slave_updates
当从库log_slave_updates参数没有开启时,从库的binlog不会记录来源于主库的操作记录。只有开启log_slave_updates,从库binlog才会记录主库同步的操作日志。