在进行GTID方式的主从复制时,首先需要清理环境,包括主服务器和从服务器的环境。具体步骤如下:1. 使用systemctl停止mysqld服务。2. 删除数据目录下所有文件。3. 使用systemctl启动mysqld服务。在配置主服务器和从服务器时,需要进行以下步骤:1. 在/etc/hosts文件中添加域名解析,将主服务器和从服务...
mysql主从复制gtid方式
GTID方式的MySQL主从复制实现基于事务的复制,通过全局事务标识符(GTID)来实现。
GTID最初由Google实现,在MySQL 5.6版本中引入。GTID在事务提交时生成,由UUID和事务ID组成。UUID在MySQL首次启动时生成,保存在数据目录下的auto.cnf文件中。事务ID则从1开始自增。
GTID的主要优点有两点:
1. 不再需要指定传统复制中的master_log_files和master_log_pos,使主从复制过程更为简单可靠。
2. 可以实现基于库的多线程复制,降低主从复制的延迟。
在进行GTID方式的主从复制时,首先需要清理环境,包括主服务器和从服务器的环境。具体步骤如下:
1. 使用systemctl停止mysqld服务。
2. 删除数据目录下所有文件。
3. 使用systemctl启动mysqld服务。
在配置主服务器和从服务器时,需要进行以下步骤:
1. 在/etc/hosts文件中添加域名解析,将主服务器和从服务器的IP地址映射到相应的域名。
2. 在MySQL配置文件/etc/my.cnf中设置以下参数:
对于主服务器,设置server-id=1,log-bin=/var/mysql/mysql-bin,gtid_mode=ON,enforce_gtid_consistency=1。
对于从服务器,设置server-id=2,log-bin=/var/mysql/mysql-bin,gtid_mode=ON,enforce_gtid_consistency=1。
完成配置后,主服务器需要创建从服务器连接用户并授权。具体步骤如下:
1. 使用MySQL命令gant replication slave on *.* to 'repl'@'%' identified by 'QianFeng@1234'创建连接用户并设置密码。
2. 使用flush privileges命令更新权限。
从服务器终端执行连接主服务器的命令如下:
1. 使用MySQL命令mysql>CHANGE MASTER TO MASTER_HOST='mysql-master',MASTER_USER='repl',MASTER_PASSWORD='QianFeng@1234',MASTER_AUTO_POSITION=1设置主服务器地址、用户名、密码及自动定位。
2. 使用MySQL命令mysql>start slave启动从服务器。
3. 使用MySQL命令mysql>show slave status\G检查从服务器是否同步成功。2024-10-04