centos7系统如何配置mysql的主从复制

发布时间:2020-05-27 17:18:26 作者:三月
来源:网络 阅读:193

下文我给大家简单讲讲关于centos7系统如何配置mysql的主从复制,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完centos7系统如何配置mysql的主从复制对大家多少有点帮助吧。

主 192.168.2.10

从192.168.2.11

先配置主mysql

vi /etc/my.cnf

找到 [mysqld] 并在其后添加如下配置:
唯一标识此 MySQL 云服务器,默认值为 1,一般采用所属 IP 的末端值
server-id=1

二进制日志文件名字,MySQL 主云服务器必须启用此配置
log-bin=master-bin-log

 MySQL 主云服务器中参与主从复制的数据库名;如果有多个数据库,则此参数可以有多个,每行一个,分部对应不同的数据库
binlog-do-db=db_master_backup
MySQL 主云服务器中二进制日志文件的索引名
og-bin-index=master-bin-log.index


创建数据库 db_master_backup

create database db_master_backup;


创建用户 backup,并设置密码 backup_123456:
create user 'backup'@'%' identified by 'backup_123456';


为用户backup 赋权对 db_master_backup 数据库的所有权限:
 grant all on db_master_backup.* to 'backup'@'%';


为用户backup 赋本地访问的权限:
grant all privileges on db_master_backup.* to 'backup'@'localhost' identified by 'backup_123456';


授权从云服务器可以通过 backup 用户访问主服务器:
grant replication slave on *.* to 'backup'@'%' identified by 'backup_123456' with grant option;

配置从数据库

vi /etc/my.cnf

# 唯一标识此 MySQL 云服务器,默认值为 1,一般采用所属 IP 的末端值
server-id=2
# MySQL 从云服务器的日志索引文件名

relay-log-index=slave-relay-log.index
# MySQL 从云服务器的日志文件名

relay-log=slave-relay-log


创建数据库 db_master_backup

create database db_master_backup;


重启两个mysql服务

查看主云服务器的状态:
show master status;


在从服务上执行如下配置:

change master to master_host='192.168.2.10',        // 主云服务器IP
master_port=3306,
master_user='user_master',
master_password='Password_Master_123456',
master_log_file='master-bin-log.000001',    // 主云服务器 master_log_file 的值
master_log_pos=364;    // 主云服务器 master_log_pos 的值

mysql> stop slave;

mysql> start slave;


执行 show slave status \G

如果有Error reading packet from server for channel '': Could not find first log file name in binary log index file 报错

解决步骤:

重启master库:service mysqld restart

mysql> show master status;

centos7系统如何配置mysql的主从复制


在从库上执行

mysql> stop slave;

mysql> change master to Master_Log_File='master-bin-log.000002',Master_Log_Pos=154;

mysql> slave start;

mysql> show slave status\G

centos7系统如何配置mysql的主从复制

在 MySQL master云服务器的 db_master_backup 库中为用户名 t_user 添加数据:
mysql> insert into t_user(id, name) values(1, 'idea1');
mysql> select * from t_user;

在主云服务器上建立脚本向t_user中插入数据

#!/bin/bash
i=1;
MAX_INSERT_ROW_COUNT=$1;
while [ $i -lt 100 ]
do
    mysql -uroot -p123456 db_master_backup -e "insert into t_user () values ('$i',$i);"
    echo "INSERT HELLO $i @@ $d"
    i=$(($i+1))
    sleep 0.05
done
exit 0

在从数据库中查看数据是否同步

mysql> select * from t_user;

大家觉得centos7系统如何配置mysql的主从复制这篇文章怎么样,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。 

推荐阅读:
  1. centos7系统如何安装及配置mysql5.7
  2. MySQL GTID 主从复制的原理及配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql ce tos

上一篇:java如何连接sql server数据库?

下一篇:Java中异常处理的使用方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》