简介
我知道有很多文章和指南介绍在互联网上实现主-从复制。在主-从复制中,主机影响从机。但从数据库中的任何更改不会影响主数据库,这篇文章将帮助你实现双向复制。(即,无论是主机还是从机的更改都将影响这两个服务器)。
本文包括:
-
主机配置
-
从机配置
-
建立主-从复制
-
建立双向复制
背景
你能参考Aadhar Joshi的这篇文章实现主从复制,或者您可以按照以下简单的步骤:
参考一下:
-
在机器A配置主机(192.168.1.30)
-
在机器B配置从机(192.168.1.29)
-
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
-
在主机中打开配置文件 , 默认文件位置为C:Program FilesMySQLMySQL Server 5.0my.ini
-
在服务端部分用[mysqld]替换[mysqld]
port=3306
-
保存配置文件然后关闭
-
重启mysql服务使其生效。
Step 2 : 机器B设置从机 :
-
在从机中打开mysql配置文件,默认位置为C:Program FilesMySQLMySQL Server 5.0my.ini
-
在服务端部分用下面代码替换[mysqld]
-
保存配置文件,关闭
-
重启mysql服务使之生效。
Step 3 : 主机中创建用户
-
打开mysql命令行
-
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘replicator’@’%’ IDENTIFIED BY ‘replication’;
-
现在我们用这个命令‘show master status’来确定当前二进制日志文件的文件名和位置。记住这个细节!在我们的事例中得到以下输出:
-
mysql> show master status;
+——————+———-+————–+——————+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+——————+———-+————–+——————+| mysql-bin.000153 | 106 | | |+——————+———-+————–+——————+1 row in set (0.00 sec)
-
继续:mysql> FLUSH PRIVILEGES;
-
选择数据库 :mysql> USE newdatabase;
-
锁数据库防止任何新的更改:FLUSH TABLES WITH READ LOCK;
Step 4: 连接主从 :
-
打开mysql命令行
-
停止从机 : Stop slave;
-
执行命令
4. 重启从机开始复制: Start Slave;
同样可以点 Master – Slave Replication.
实现双向复制的方法
第一步: 在从机创建主机用户
-
打开从机的mysql命令行 (192.168.1.29)
-
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘master_replicator’@’%’ IDENTIFIED BY ‘master’;
-
现在我们用这个命令‘show master status’来确定当前二进制日志文件的文件名和位置。记住这个细节!在我们的事例中得到以下输出:
-
show master status;
+——————+———-+————–+——————+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+——————+———-+————–+——————+| mysql-bin.000153 | 106 | | |+——————+———-+————–+——————+1 row in set (0.00 sec)
-
继续:mysql> FLUSH PRIVILEGES;
-
选择数据库 :mysql> USE newdatabase;
-
锁数据库防止任何新的更改:FLUSH TABLES WITH READ LOCK;
Step 2: 用主机用户连接从机(192.168.1.30):
-
在主机上打开mysql命令行
-
停止从机 : Stop slave;
-
执行命令
4. 重启从机开始复制 : Start Slave;
下面命令检查系统状态 :
SHOW SLAVE STATUSG;
你可以看到 192.168.1.30:
感兴趣的方面
现在你能做些数据库操作,像插入 删除 更新 删表 截断等,也可以检查数据库是否正常工作。
重点记住:
1. 在主机和从机中server_Id 必须不同
2. 验证日志文件是正确的设置
3. 用这些命令检查
SHOW SLAVE STATUSG;
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
甲骨文宣布MySQL Cluster 7.4全面上市
甲骨文公司今天宣布MySQL Cluster 7.4全面上市。MySQL Cluster是一款ACID兼容的开源事务处理型数据库,具有实时内存性能和99.999%的可用性。
-
多种不同的MySQL数据库SSL配置
SSL通过加密网络防止有针对性的监听。在与正确的服务器进行交互时,可以有效应对中间人攻击。本文介绍了不同的使用MySQL数据库的SSL配置方法。
-
在线数据统计公司使用TokuDB进行数据压缩
SharkScope使用MySQL数据库来存储统计数据,但随着在线棋牌游戏玩家越来越多,公司的MySQL数据库扩展性遭遇了艰巨的考验。
-
MySQL开发者需了解的12个技巧
MySQL是世界上实际最流行的数据库管理系统,是遍布全球编程社区的首选。它有一个系列有趣的特性,在很多方面都很擅长。