MySQL 的主从复制架构, 需要准备两台机器, 并且可以通信, 安装好 2 个 MySQL, 保持版本一致性
MySQL -v 查看数据库版本
1. 准备主库的配置文件 /etc/my.cnf
写入开启主库的参数
- [mysqld]
- # 标注 主库的身份 id
- server-id=1
- # 那个 binlog 的文件名
- log-bin=s15mysql-bin
2. 重启 mairadb, 读取配置文件
systemctl restart mariadb
3. 查看主库的状态
- MySQL -uroot -p
- # 这个命令可以查看日志文件的名字, 以及数据起始点
- show master status;
4. 创建用于主从数据同步的账户
create user 'apollo'@'%' identified by 'admin';
5. 授予主从同步账号的, 复制数据的权限
grant replication slave on *.* to 'yuanhao'@'%';
6. 进行数据库的锁表, 防止数据写入
flush table with read lock;
7. 将数据导出
mysqldump -u root -p --all-databases> /opt/zhucong.dump
8. 然后将主库的数据, 发送给从库
scp /opt/zhucong.dump root@从库:/opt/
9. 此时去从库的 MySQL 上, 登录, 导入主库的数据, 保持数据一致性
- MySQL -uroot -p
- source /opt/zhucong.dump
- ################ 从库的配置 ################
1. 写入 my.cnf, 从库的身份信息
- vi /etc/my.cnf
- [mysqld]
- server-id=10
2. 检查一下主库和从库的 参数信息
- show variables like 'server_id';
- show variables like 'log_bin';
3. 通过一条命令, 开启主从同步
- change master to master_host='192.168.13.78',
- master_user='yuanhao',
- master_password='yuanhaobuxitou',
- master_log_file='s15mysql-bin.000001',
- master_log_pos=571;
4. 开启从库的 slave 同步
start slave;
5. 查看主从同步的状态
show slave status\G;
6. 查看两条参数, 确保主从正常
- Slave_IO_Running:Yes
- Slave_SQL_Running:Yes
来源: http://www.bubuko.com/infodetail-2905321.html