【七】MySQL Master-Slaves 主从配置

1 准备

参考前面的博文你应该安装好了 MySQL,并复制了一个新的虚拟机,

主库地址: 192.168.56.101 
主库地址: 192.168.56.102

2 主库配置

2.1 在 master 上创建同步账号

# 赋予账号 repl replication slave 权限, 其它 slave 服务器可以通过这个账号来访问 master
grant replication slave on *.* to 'repl'@'192.168.56.102' identified by
'your password';

注意这里的 IP 地址是 slave 的。

2.2 配置主节点,开启 binlog
vim /etc/my.cfg
配置如下:开启 binlog,设置节点 id:

log-bin=mysql-bin # 日志文件名前缀
server-id=1 # 在集群中的唯一id,值可以为1~2^32-1的整数

2.3 重启 mysql 服务

systemctl restart mysqld

2.4 查看主库状态

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

3 从库配置

3.1 配置从库 server-id

# vim /etc/my.cfg
server-id=2 # 在集群中的唯一id,值可以为1~2^32-1的整数

重启 mysql 服务:

systemctl restart mysqld

3.2 执行 CHANGE MASTER TO 语句设置同步的主库

CHANGE MASTER TO
  MASTER_HOST='192.168.56.101',  # master 的 ip
  MASTER_USER='repl',
  MASTER_PASSWORD='your password';

这里设置的
3.3 开启从库

START SLAVE;

查看从库状态:

SHOW SLAVE STATUS;

4 复制出现的问题

Note] Generated uuid: '5348c44b-c0a4-11e9-bb3d-0800275e32c6', server_start_time: 1111544684596399254, bytes_sent: 71674160
2019-08-17T04:06:01.595

这是我虚拟机克隆的时候让 master 和 slave 的 mysql 目录是一样的,fix:

cd /var/lib/mysql
mv auto.cnf auto.cnf.bac
systemctl restart mysqld  # 重启 mysql

可以查看/var/log/mysqld.log日志文件发现 mysql 运行中的问题。

到这一步应该可以了,现在在 master 里新建数据库和表,slave 就可以同步看到了。

参考:主从复制错误总结

猜你喜欢

转载自blog.csdn.net/jiaobuchong/article/details/99690854