欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

配置MySQL服务器实现主主复制

程序员文章站 2024-02-01 17:18:52
...

声明作者:昨夜星辰博客:http://yestreenstars.blog.51cto.com/本文由本人创作,如需转载,请注明出处,谢谢合作! 搭建MySQL的

声明
作者:昨夜星辰
博客:
本文由本人创作,如需转载,请注明出处,谢谢合作!

搭建MySQL的主主复制步骤(请看链接 )

目的

配置MYSQL服务器实现主主复制。

实验环境

服务器1(以下简称S1):

IP:192.168.1.88

服务器2(以下简称S2):

IP:192.168.1.89

OS:CentOS 6.2 32

MYSQL:5.1.73

配置

# 先停止S1和S2的iptables防火墙。
service iptables stop

# 修改S1的/etc/my.cnf文件,在[mysqld]字段下添加以下内容:
log-bin=mysql-bin
log-slave-updates
server-id=1

# 同理,修改S2的/etc/my.cnf文件,在[mysqld]字段下添加以下内容(注意server-id不能一样):
log-bin=mysql-bin
log-slave-updates
server-id=2

# 重启S1和S2的mysqld服务。
service mysqld restart

# 登录S2的数据库,执行锁表命令,防止在查看二进制日志文件时有人对数据进行修改操作,然后再执行查看命令,记录二进制日志文件名和当前位置。
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 191 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

# 登录S1的数据库,创建用于复制的用户并将S2配置成主复制服务器(读者注意根据实际情况修改具体参数)。
mysql> grant replication slave on *.* to 'slave'@'192.168.1.89' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> change master to master_host='192.168.1.89',master_user='slave',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=191;
Query OK, 0 rows affected (0.05 sec)

# 在S1的数据库上执行锁表和查看二进制日志文件信息的命令。
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 260 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

# 在S2的数据库执行解锁表命令,并创建用于复制的用户并将S1配置成主复制服务器。
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
mysql> grant replication slave on *.* to 'slave'@'192.168.1.88' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> change master to master_host='192.168.1.88',master_user='slave',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=260;
Query OK, 0 rows affected (0.03 sec)

# 在S1的数据库执行解锁表命令,并启动复制。
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

# 在S2的数据库启动复制。
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

# 最后,,执行show slave status;命令可以查看配置是否成功,如果下面这两个为YES即为成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

# 读者也可以通过创建数据库等操作来验证是否同步。

Ubuntu下Nginx做负载实现高性能WEB服务器5---MySQL主主同步

生产环境MySQL主主同步主键冲突处理

MySQL主从失败 错误Got fatal error 1236

MySQL主从复制,单台服务器上实施

搭建MySQL代理服务器实现读写分离+主从同步

MySQL 5.5 主从双向同步

MySQL 5.5主从同步排错

MySQL主从复制异步半同步实例

本文永久更新链接地址:

配置MySQL服务器实现主主复制