(1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
(2)slave将master的binary log events拷贝到它的中继日志(relay log);
(3)slave重做中继日志中的事件,将改变反映它自己的数据;
主库:
1. vim /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
server-id=1
log-bin=/var/log/mysql/mysql-bin.log
2.
create user ‘apollo’@’%’ identified by ‘apollo123’;
grant replication slave on . to ‘apollo’@’%’;
flush table with read lock;
show master status; // 记录下File、Position后面从库会用到,例如a-mysql-bin.000001,615
3.
mysqldump -uroot -p –all-databases > /root/root.sql
从库:
1. vim /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
server-id=2
2.scp root@192.168.13.183:/root/root.sql /root/root.sql
登录mysql:
source /opt/root.sql
3. 添加master配置:
change master to master_host=’192.168.13.189′,
master_user=’apollo’,
master_password=’apollo123′,
master_log_file=’a-mysql-bin.000001′,
master_log_pos=615;
4.
start slave;
检查同步状态:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
收尾:
主库执行:unlock tables;