一文学会CentOS8下Mysql8.0.26主从同步配置丨【绽放吧!数据库】

举报
lwq1228 发表于 2021/08/17 11:08:59 2021/08/17
【摘要】 一文学会CentOS8下Mysql8.0.26主从同步及互为主从同步配置

一、环境准备

准备两台CentOS8服务器,也可以使用虚拟机(博主这里使用的是虚拟机),在两台服务器上根据博主的CentOS8中安装MySql8.0.26丨【绽放吧!数据库】这篇教程装好Mysql8.0.26,这里两台数据库服务器地址如下:

主库:172.16.2.103
从库:172.16.2.104

二、配置主从同步

1、主库配置(172.16.2.103)

(1)停止主库的mysql服务

[root@localhost ~]# service mysqld stop

(2)修改/etc/my.cnf配置

[root@localhost ~]# vim /etc/my.cnf

[mysqld]下面添加如下配置:

[mysqld]
# 设置服务id,主从不能一致
server-id=1
# 开启binlog
log-bin=mysql-bin

# 下面参数可选
# 设置需要同步的数据库,如果只针对某个数据库进行同步则追加以下配置,配置对应的数据库名称,多个的话配置多行
binlog-do-db=customer_db1
binlog-do-db=customer_db2
# 屏蔽系统库同步,如果需要对某个数据库不进行同步则追加以下配置,配置对应的数据库名称,多个的话配置多行
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema

(3)重新启动mysql

[root@localhost ~]# service mysqld start

(4)登录数据库

[root@localhost ~]# mysql -u root -p

(5)创建主备复制专用账号(绑定从库的IP:172.16.2.104)

mysql> CREATE USER 'db_sync'@'172.16.2.104' IDENTIFIED WITH mysql_native_password BY 'db_sync';

(6)给主备复制专用账号授权

mysql> GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'172.16.2.104';

(7)刷新权限

mysql> FLUSH PRIVILEGES;

(8)确认位点记录下文件名以及位点

mysql> show master status;

2、从库配置(172.16.2.104)

(1)停止从库的mysql服务

[root@localhost ~]# service mysqld stop

(2)修改/etc/my.cnf配置

[root@localhost ~]# vim /etc/my.cnf

[mysqld]下面添加如下配置:

[mysqld]
# 设置服务id,主从不能一致
server-id=2
# 开启日志
log-bin=mysql‐bin

# 下面参数可选
#设置需要同步的数据库,如果只针对某个数据库进行同步则追加以下配置,配置对应的数据库名称,多个的话配置多行
replicate_wild_do_table=customer_db1.%
replicate_wild_do_table=customer_db2.%
#屏蔽系统库同步,如果需要对某个数据库不进行同步则追加以下配置,配置对应的数据库名称,多个的话配置多行
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%

(3)重新启动mysql

[root@localhost ~]# service mysqld start

(4)登录数据库

[root@localhost ~]# mysql -u root -p

(5)停止同步

mysql> stop slave;

(6)修改从库指向到主库,使用主库配置(8)中记录的文件名以及位点

mysql> CHANGE MASTER TO master_host='172.16.2.103',master_user='db_sync',master_password='db_sync',master_log_file='mysql-bin.000004',master_log_pos=2166;

(7)启动同步

mysql> start slave;

(8)查看同步状态

mysql> show slave status\G

说明:从库状态Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不是这两个值,请检查 error_log,然后排查相关异常。

==说明:如果只是配置单向主从复制则到此处已经配置完成,如果需要配置双向的互为主从则继续第三步操作。==

三、配置互为主从

此处操作均在第二步基础上进行,将172.16.2.104视为主库,将172.16.2.103视为从库进行配置。

1、主库配置(172.16.2.104)

(1)登录数据库

[root@localhost ~]# mysql -u root -p

(2)创建主备复制专用账号(绑定从库的IP:172.16.2.103)

mysql> CREATE USER 'db_sync'@'172.16.2.103' IDENTIFIED WITH mysql_native_password BY 'db_sync';

(3)给主备复制专用账号授权

mysql> GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'172.16.2.103';

(4)刷新权限

mysql> FLUSH PRIVILEGES;

(5)确认位点记录下文件名以及位点

mysql> show master status;

2、从库配置(172.16.2.103)

(1)登录数据库

[root@localhost ~]# mysql -u root -p

(2)停止同步

mysql> stop slave;

(3)修改从库指向到主库,使用主库配置(5)中记录的文件名以及位点

mysql> CHANGE MASTER TO master_host='172.16.2.104',master_user='db_sync',master_password='db_sync',master_log_file='mysql-bin.000001',master_log_pos=1303;

(4)启动同步

mysql> start slave;

(5)查看同步状态

mysql> show slave status\G

说明:从库状态Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不是这两个值,请检查 error_log,然后排查相关异常。

==至此mysql数据库双向互为主从配置完成。==

四、删除主从复制配置

1、清除从库配置

(1)从库停止同步

mysql> stop slave;

(2)重置同步状态

mysql> reset slave all;

(3)查看同步状态

mysql> show slave status\G

清除成功则显示结果如下:

2、清除主库配置

如果主库为主从复制设置了专用用户,则在此处删除相关用户,如果没配置,则可不进行操作。

(1)查看用户列表

mysql> select user, host from user;

红色框内用户即为博主配置的主从同步专用用户。

(2)删除主从复制专用用户

mysql> drop user 'db_sync'@'172.16.2.103';

(3)查看删除主从复制专用用户后的用户列表

mysql> select user, host from user;

==至此主从配置删除完成==

【绽放吧!数据库】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/285617

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200