免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2190 | 回复: 0
打印 上一主题 下一主题

MySQL数据同步配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-03 18:08 |只看该作者 |倒序浏览
MySQL数据同步配置
MySQL数据同步配置
----------------------
要求MySQL版本>=3.23.54
指代变量
1、Master端配置:
Slave同步账号权限:
GRANT FILE ON . TO @ IDENTIFIED BY '';
或者
INSERT INTO user VALUES('','',password(''),'N','N','N','N','N','N','N','N','N','Y','N','N','N','N');
FLUSH PRIVILEGES;

Master启动配置文件:
[mysqld]
log-bin
binlog-do-db=
server-id=

或者:
[mysqld]
log-bin
replicate-wild-do-table=.
replicate-wild-ignore-table=.
server-id=

2、Slave端配置

Slave启动配置文件:
[mysqld]
master-host=
master-user=
master-password=
master-port=
server-id=
3、停止服务
mysqladmin -S  -u root -p shutdown
mysqladmin -S  -u root -p shutdown
4、拷贝数据
5、启动Master服务
/safe_mysqld --defaults-file=  &
Master数据库目录应该生成 -bin. 文件
6、启动Slave服务
/master.info配置文件:
-bin.






/safe_mysqld --defaults-file=  &
7、测试/监视
Master数据库中执行
SHOW MASTER STATUS;
应显示
+---------------------------+-----------+--------------+------------------+
| File                      | Position  | Binlog_do_db | Binlog_ignore_db |
+---------------------------+-----------+--------------+------------------+
|-bin.|  ||                  |
+---------------------------+-----------+--------------+------------------+

Slave数据库中执行
SHOW SLAVE STATUS;
应显示
+---------------+-------------+-------------+---------------+---------------------------+-----------+---------------+-----------------+---------------------+------------+------------+--------------+
| Master_Host   | Master_User | Master_Port | Connect_retry | Log_File                  | Pos       | Slave_Running | Replicate_do_db | Replicate_ignore_db | Last_errno | Last_error | Skip_counter |
+---------------+-------------+-------------+---------------+---------------------------+-----------+---------------+-----------------+---------------------+------------+------------+--------------+
|   |  | | XX            |-bin.|  | Yes           |                 |                     | 0          |            | 0            |
+---------------+-------------+-------------+---------------+---------------------------+-----------+---------------+-----------------+---------------------+------------+------------+--------------+

8、数据同步停止故障的处理
数据同步停止最常见的原因是人为改动了Slave端数据造成从Master取回的SQL语句执行错误,
例如Unique Key冲突。所以首先应该严格限制手工更改Slave数据。

如果发现了同步停止可以有以下几步处理方式:
1)记录停止的位置(Pos);
2)观察停止位置的SQL语句,如果这一SQL语句必须执行,跳到(5);
3)如果SQL语句可以跳过(或正在执行已经执行过的SQL),可以用SET SQL_SLAVE_SKIP_COUNTER=n跳过,
   (一般SQL语句n=1, 带有auto-increment的语句n=2)完成后执行slave start;
   如果同步继续但出现了新错误,重复(3),如果没解决问题,可以重新设SQL_SLAVE_SKIP_COUNTER再试,
   如果还不成功说明断点记录有错,选择(4)或者(5);
4)如果Master上的log不过大(几百M以内),复制一份后用mysqlbinlog转成可阅读的格式,
   寻找断点附近SQL语句(文件里每句话前都有“at xxxxx",找一个断点重新开始),
   更改Slave端的master.info里第2行为新断点,重启Slave库;
   如果不成功则选择(5);
5)最终解决方案
  停止Master/Slave数据库运行;
  拷贝静态数据文件到Slave库;
  启动Master库;
  更改Slave库文件master.info中log-bin文件名及断点(73);
  启动Slave库。
  

9、附加命令
清空无用log-bin: PURGE MASTER LOGS TO '-bin.';


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3965/showart_11489.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP