CentOS7 设置 MySQL 主备同步

Posted Erik_ly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 设置 MySQL 主备同步相关的知识,希望对你有一定的参考价值。

文章目录


本文主要介绍在 mysql 的主备同步设置方法。

环境准备

  • Linux:Centos 7

  • MySQL:5.7

  • 主节点:192.168.210.18

  • 备节点:192.168.210.19

  • 主备节点 MySQL 均支持远程登录

  • MySQL 安装设置详见: CentOS 7 安装 MySQL 5.7 详细步骤

修改配置文件

  • 主节点

备份配置文件,并添加要同步的数据库

cd /etc/
cp my.cnf my.cnf.bak

my.cnf 中添加如下内容

# sync
server-id=1	# 服务器 ID,要唯一
log-bin=master-bin
log_bin_index =master-bin.index
binlog_do_db=mindoc_db # mindoc_db 是要同步的数据库的名称,后面验证数据同步时,就是同步该库的数据
user=mysql
  • 备节点

同样备份配置文件,

cd /etc/
cp my.cnf my.cnf.bak

my.cnf 中添加如下内容

# sync
server-id=2 # 服务ID
log-bin=salve-bin
relay-log =slave-relay-bin
relay-log-index=slave-relay-bin.index

创建同步数据账户

  • 主节点

创建用于数据同步的用户

# 登录 MySQL
mysql -uroot -p
mysql> create user 'sync'@'10.180.210.19' identified by 'Sync-123456'; # 创建用户 sync,设置密码 Sync-123456,并允许备库 10.180.210.19 登录
mysql> flush privileges; # 刷新权限
mysql> grant replication slave on *.* to 'sync'@'10.180.210.19' identified by 'Sync-123456' with grant option; # 赋予用户 sync 进行 replication slave 到备库 10.180.210.19 的权限

# 查询 master 状态
mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 |   121040 | mindoc_db    | mysql            |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

设置主库信息

  • 备节点

在备节点上设置主库信息

mysql -uroot -p

mysql> change master to master_host='10.180.249.18', master_port=3306, master_user='sync', master_password='Sync-123456', master_log_file='master-bin.000001', master_log_pos=121040;

mysql> start slave;
mysql> flush privileges;

# 查询 slave 状态
mysql> show slave status\\G;

测试

在主节点的数据库中添加数据,观察备节点是否能同步,如果能同步,则主备同步设置成功。

参考资料

  • centos7 mysql主备模式(读写分离) - 丶鹏 - 博客园:https://www.cnblogs.com/high520/p/13546338.html

注:本文首发于个人博客网站: http://www.erik-ly.com/

以上是关于CentOS7 设置 MySQL 主备同步的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7 设置 MySQL 主备同步

MYSQL的BinLog实现主备同步

MySQL 主备同步技术演化

CentOS7配置MySQL5.7主备

mysql数据库主从同步

MySQL主备切换