广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 7800 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
月光 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖
头衔:看我代替月亮惩罚你!看我代替月亮惩罚你!
版主
级别: 版主 该用户目前不上站
版区: Unix-like, 网站架设
推文 x42 鲜花 x565
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x1
[SQL][教学] 实做 MySQL Master-Master Replication 同步
今天无聊实做了 MySQL 资料库同步化,那可以先看看 MySQL Master Slave Replication,中文网站可以上 google 查询或者是看看这一篇:MySQL 设定 Replication (Master – Slave),基本上设定还蛮容易的,如果会 Master 同步到 Slave 的话,那 MySQL Master-Master 只是在用相同的方法在做一遍,如果不懂 MMM 的可以先参考这一篇:MySQL Master-Master Replication Manager(1) – 简介,这篇写的很清楚,今天看了文章,我实做起来,遇到一些问题,其实还蛮奇怪的,所以底下就来纪录一下步骤,顺便也说明一下。

实做两台 Ubuntu 机器:
db1:192.168.1.1
db2:192.168.1.2

先设定 db1:
目前我都是在 Ubuntu 7.10 底下实做的,那基本上只要有支援 MySQL 的 Linux 或者 FreeBSD 机器都可以实做这个方法:

步骤一:先修改 my.cnf 这个档案:
FreeBSD 的话在:/var/db/mysql/my.cnf
Ubuntu:/etc/mysql/my.cnf
有的版本是在 /etc/my.cnf 所以不太一定,请依照自己的作业系统
修改:

#
# bind-address 请 mark 起来,因为我们必须让 MySQL Listen 各个不同的 IP Address
#bind-address         = 127.0.0.1
#
# server id 请记得每台机器都设定不同喔
#
server-id           = 1
log_bin             = /var/log/mysql/mysql-bin.log

步骤一的部份也请先在 db2 的机器先设定一次,然后重新启动 mysql
步骤二:设定 mysql 权限

mysql -u root -p
#
# 先设定 replication 这个帐号密码是 slave 这个可以自己改掉
#
mysql> GRANT replication slave ON *.* TO 'replication'@'%' IDENTIFIED BY 'slave';
#
# 这个是官方的写法,可以按照这底下去写就可以了
#
mysql> CHANGE master TO master_host='192.168.1.2', master_port=3306, master_user='replication', master_password='slave';
#
# 底下是 Master 机器的 bin log file
# master_log_file='mysql-bin.000004',
# master_log_pos=98;
# 可以利用 SHOW MASTER STATUS; 来取得这两个的值
mysql> CHANGE master TO master_host='192.168.1.2', master_port=3306, master_user='replication', master_password='slave', master_log_file='mysql-bin.000004', master_log_pos=98;

先到 db2 执行 SHOW MASTER STATUS; 会得到底下结果

+------------------+----------+--------------+------------------+
| File         | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |     189 |           |             |
+------------------+----------+--------------+------------------+

那这样就可以知道
master_log_file=’mysql-bin.000001′,
master_log_pos=189;

步骤三:测试观看 mysql slave
重新启动 mysql
/etc/init.d/mysql restart
#
# 启动 slave
#
mysql> START slave;
#
# 观看 slave 状态
#
mysql> show slave status \G;



请注意下面这两行必须为 YES
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

这样才算代表成功了,不然就是失败的。

先设定 db2:
步骤一:先修改 my.cnf 这个档案:
FreeBSD 的话在:/var/db/mysql/my.cnf
Ubuntu:/etc/mysql/my.cnf
有的版本是在 /etc/my.cnf 所以不太一定,请依照自己的作业系统
修改:
#
# bind-address 请 mark 起来,因为我们必须让 MySQL Listen 各个不同的 IP Address
#bind-address         = 127.0.0.1
#
# server id 请记得每台机器都设定不同喔
#
server-id           = 1
log_bin             = /var/log/mysql/mysql-bin.log

步骤二:设定 mysql 权限
mysql -u root -p
#
# 先设定 replication 这个帐号密码是 slave 这个可以自己改掉
#
mysql> GRANT replication slave ON *.* TO 'replication'@'%' IDENTIFIED BY 'slave';
#
# 这个是官方的写法,可以按照这底下去写就可以了
#
mysql> CHANGE master TO master_host='192.168.1.1', master_port=3306, master_user='replication', master_password='slave';
#
# 底下是 Master 机器的 bin log file
# master_log_file='mysql-bin.000004',
# master_log_pos=98;
# 可以利用 SHOW MASTER STATUS; 来取得这两个的值
mysql> CHANGE master TO master_host='192.168.1.1', master_port=3306, master_user='replication', master_password='slave', master_log_file='mysql-bin.000004', master_log_pos=98;

步骤三:测试观看 mysql slave
重新启动 mysql
/etc/init.d/mysql restart
#
# 启动 slave
#
mysql> START slave;
#
# 观看 slave 状态
#
mysql> show slave status \G;
如果遇到
Slave_IO_Running: no
Slave_SQL_Running: no

这样的话请依照下面步骤:

#
# 停止跟清除 SLAVE
#
mysql> STOP SLAVE;
mysql> RESET SLAVE;
#
# 停止 mysql
#
/etc/init.d/mysql stop
#
# 删除 bin log 档案
#
rm -rf /var/log/mysql/mysql-bin.*
#
# 启动 mysql
#
/etc/init.d/mysql start
#
# 在设定一次 master ip 资讯
#
mysql> change master to master_host='192.168.1.1', master_port=3306, master_user='replication', master_password='slave';
#
# 启动 slave
#
mysql> START SLAVE;



月光论坛
http://bbs.dj...com/


===================================
赞助本站 -- 刊登广告 -- 物超所值虚拟主机租用
献花 x0 回到顶端 [楼 主] From:台湾中华电信 | Posted:2010-07-22 19:58 |
shing3728
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

学习中..
感谢分享!!!


献花 x0 回到顶端 [1 楼] From:APNIC | Posted:2010-09-11 13:58 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.093367 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言