设置MySQL服务器之间设置Master-Master复制的方法-创新互联

设置MySQL服务器之间设置Master-Master复制的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

在网站设计制作、做网站中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联建站专业成都网站建设十多年了,客户满意度97.8%,欢迎成都创新互联客户联系。

在此设置中,如果在任一服务器上进行的任何更改将都在另一台服务器上更新。

设置细节:

Master-1: 192.168.1.15
Master-2: 192.168.1.16
Database: mydb

步骤1:设置MySQL Master-1服务器

编辑MySQL配置文件并在[mysqld]部分下添加以下代码。

# vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
binlog-do-db=mydb
server-id=1

重启MySQL服务器以使更改生效。

# service mysqld restart

在Master-1服务器上创建一个具有REPLICATION SLAVE权限的mysql帐户,复制客户端将连接到master。

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY 'secretpassword';
mysql> FLUSH PRIVILEGES;

所有表上都有block write语句,因此备份后不能进行任何更改。

mysql> use mydb;
mysql> FLUSH TABLES WITH READ LOCK;

使用以下命令检查当前二进制日志文件名(File)和当前偏移量(Position)值。

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |      332 | mydb         |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

上面的输出显示当前的二进制文件使用的是mysql-bin.000003,偏移值为332。记下这些值,以便在下一步中在master-2服务器上使用。

备份数据库并将其复制到另一个mysql服务器。

# mysqldump -u root -p mydb > mydb.sql
# scp mydb.sql 192.168.1.16:/opt/

完成备份后,从表中删除READ LOCK,以便进行更改。

mysql> UNLOCK TABLES;

步骤2:设置MySQL Master-2服务器

编辑mysql Master-2配置文件并在[mysqld]部分下添加以下值。

#vim /etc/my.cnf
[mysqld] 
log-bin = mysql-bin 
binlog-do-db = mydb 
server-id = 1

server-id始终为非零数值。这些值永远不会与其他主服务器或从服务器相似。

重启MySQL服务器,如果已配置复制,请在启动时使用-skip-slave-start,不要立即连接到主服务器。

#service mysqld restart

恢复从主服务器获取的数据库备份。

#mysql -u root -p mydb 

在Master-1服务器上创建一个具有REPLICATION SLAVE权限的mysql帐户,复制客户端将连接到master。


mysql> GRANT REPLICATION SLAVE ON *.*''repl_user'@'%'IDENTIFIED BY'secretpassword'; 
mysql> FLUSH PRIVILEGES;

使用以下命令检查当前二进制日志文件名(File)和当前偏移量(Position)值。

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      847 | mydb         |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

上面的输出显示当前二进制文件使用mysql-bin.000001,偏移值为847。记下这些值以在步骤3中使用。

使用以下命令在从属服务器上设置选项值。

mysql> CHANGE MASTER TO MASTER_HOST ='192.168.1.15',
    - > MASTER_USER ='repl_user',
    - > MASTER_PASSWORD ='secretpassword',
    - > MASTER_LOG_FILE ='mysql-bin.000003',
    - > MASTER_LOG_POS = 332;

步骤3:完成MySQL Master-1的安装

登录MySQL Master-1服务器并执行以下命令。

mysql> CHANGE MASTER TO MASTER_HOST ='192.168.1.16',
     MASTER_USER ='repl_user',
     MASTER_PASSWORD ='secretpassword',
     MASTER_LOG_FILE ='mysql-bin.000001',
     MASTER_LOG_POS = 847;

步骤4:在两台服务器上启动SLAVE


在两台服务器上执行以下命令以启动复制从属进程。

mysql> SLAVE START;

MySQL Master-Master Replication已在您的系统和工作模式下成功配置。要测试复制是否正常,请在任一服务器上进行更改,并检查更改是否反映在其他服务器上。

感谢各位的阅读!看完上述内容,你们对设置MySQL服务器之间设置Master-Master复制的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:设置MySQL服务器之间设置Master-Master复制的方法-创新互联
本文地址:http://hbruida.cn/article/djshpe.html