配置Replication(gtid方式)

#环境清理
主从均清除刚才实验的环境
[root@mysql-master ~]# systemctl stop mysqld
[root@mysql-slave ~]# systemctl stop mysqld
注意:以下两步均危险操作,在以后工作环境中,绝对不能删除数据库。
可以先mysqldump导出一份备份文件,在执行此操作
[root@mysql-master ~]# rm -rf /var/lib/mysql/*
[root@mysql-master ~]# rm -rf /var/log/mysql/*
[root@mysql-slave ~]# rm -rf /var/lib/mysql/*

主库配置
[mysqld]
log-bin=/var/log/mysql/mysql-bin
server-id=1
#打开gtid模式
gtid_mode=ON
enforce_gtid_consistency=1
创建日志目录
mkdir /var/log/mysql
授权
chown mysql.mysql /var/log/mysql
重启服务
systemctl restart mysqld
找出主服务器root用户的初始密码
[root@mysql-master ~]# grep password /var/log/mysqld.log
主服务器修改数据库root用户密码
[root@mysql-master ~]# mysqladmin -uroot -p’QsgW(=D#F9&i’ password ‘QianFeng@123’

mysql> GRANT REPLICATION SLAVE ON . TO ‘repl’@’%’ identified by ‘QianFeng@1234’;
mysql> flush privileges;

从库配置

测试用户有效性
mysql -urepl -p’QianFeng@1234’ -hmysql-master

vim /etc/my.cnf #在配置文件中添加配置

[mysqld]
server-id=2
#打开gtid模式
gtid_mode=ON
enforce_gtid_consistency=1
创建日志目录
mkdir /var/log/mysql
授权
chown mysql.mysql /var/log/mysql
重启服务
systemctl restart mysqld
过滤日志,找到从库初始密码,如果有多条初始密码,选择最后一条
[root@slave mysql]# grep password /var/log/mysqld.log
2020-03-19T07:21:50.500577Z 1 [Note] A temporary password is generated for root@localhost: MD/XFBB+z2Mw

[root@slave mysql]# mysqladmin -uroot -p’MD/XFBB+z2Mw’ password ‘QianFeng@123’
Mysql 从服务器终端执行连接信息
mysql> CHANGE MASTER TO
MASTER_HOST=‘mysql-master’,
MASTER_USER=‘repl’,
MASTER_PASSWORD=‘QianFeng@1234’,
MASTER_AUTO_POSITION=1;
#MASTER_AUTO_POSITION 1 为自动识别位置点 0 可以手动指定

mysql> start slave;
查看是否同步成功
mysql> show slave status\G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 5.7引入了GTID(Global Transaction Identifier)特性,这对于高可用性和故障恢复非常重要。GTID提供了一种跟踪跨多个数据库实例的事务的方式,使得主从复制更为可靠。下面是安装和配置MySQL 5.7 GTID主从的一般步骤: 1. **安装MySQL 5.7**: - 下载MySQL 5.7的二进制包,可以从MySQL官网下载适用于你操作系统的版本。 - 按照官方文档的指示进行安装,确保在安装过程中选择“GTID”作为复制模式。 2. **初始化主服务器**: - 配置my.cnf文件,开启GTID相关选项,例如设置`gtid_mode=ON` 和 `enforce_gtid_consistency=ON`。 - 启动MySQL服务并创建一个包含GTID的初始数据库实例。 3. **启用二进制日志**: - 在my.cnf中配置`log_bin`和`expire_logs_days`以管理二进制日志,这对主从复制至关重要。 4. **配置主从复制**: - 创建复制用户并分配合适的权限,如`REPLICATION SLAVE`。 - 在主服务器上执行`CHANGE MASTER TO`命令来指定从服务器的信息,包括GTID的位置(例如,`MASTER_GTID_FILE`和`MASTER_BINLOG_POS`)。 5. **启动从服务器**: - 使用相同的GTID配置启动从服务器。 - 运行`START SLAVE`命令,让从服务器开始同步数据。 6. **监控和调试**: - 定期检查`SHOW MASTER STATUS`和`SHOW SLAVE STATUS\G`来确保复制状态正常。 - 如果遇到问题,查看错误日志和使用`mysqlbinlog`工具分析事务历史。 **相关问题--:** 1. GTID是什么,它如何提高复制的可靠性? 2. 在配置主从复制时,如何正确设置`CHANGE MASTER TO`命令? 3. 有哪些常见的GTID复制问题及解决方法?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值