mysql主从复制配置
https://learnku.com/laravel/t/3174/mysql-master-slave-replication-simple-configuration-simple-absolutely-can-be-used
一;主库配置
1.配置 mysql
1.1#vi /etc/mysql/my.cnf
[mysqld]
log-bin=mysql-bin #[必须]启用二进制日志
server-id=109 #[必须]服务器唯一ID,默认是1,一般取IP最后一段
1.2检查 mysql 是否允许远程连接
2.进入 mysql 终端,新建 mysql 用户(从服务器用到此账号配置)slave
grant replication slave on . to 'salve'@'192.168.71.%' identified by 'qwerJKL/1';
3.刷新一下权限表
flush privileges;
4.重启 mysql
systemctl restart mysqld
5.进入 mysql 终端查看 master 状态
show master status;
二:从库配置
1.配置 mysql 的 my.ini 并重启
[mysqld]
log-bin=mysql-bin #[可选]启用二进制日志
server-id=70
- 登录 mysql 终端后执行
mysql> change master to master_host='192.168.71.109',master_user='salve',master_password='qwerJKL/1',master_log_file='mysql-bin.000002',master_log_pos=154;
3.启动 slave 从库
mysql> start slave;
4.查看 slave 从库
mysql> show slave status\G;
注:Slave_IO_Running 和 Slave_SQL_Running 必须都为 Yes 才算成功。
三:测试
ubuntu mysql
mysql> create database test_repl;
然后查看 xp mysql 如果出现 test_repl 库则说明主从复制配置成功
mysql> show databases;
四:遇到的问题
1.修改hostname
修改配置文件/etc/hostname来实现主机名的修改。把该文件内容hostname name中的name替换成自己想要的主机名重启即可。
vim /etc/hostname
2.查看slave从库状态是遇到错误 slave have equal MySQL server UUIDs
解决:https://blog.csdn.net/leshami/article/details/43854505
https://blog.csdn.net/cug_jiang126com/article/details/46846031
五:结尾
这只是最基本的配置,还有很多配置命令就不折腾了。测试时发现之前库不一致时我在主库里面添加一张表,而从库没有那个库,导致从库 slave 会报错,执行这个命令后重启从库就可以跳过这个错误。