首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > MySQL数据同步配置
【标  题】:MySQL数据同步配置
【关键字】:MySQL
【来  源】:http://blog.chinaunix.net/article.php?articleId=11489&blogId=3965

MySQL数据同步配置

MySQL数据同步配置

MySQL数据同步配置
----------------------
要求MySQL版本>=3.23.54
<...>指代变量

1、Master端配置:

 Slave同步账号权限:
 GRANT FILE ON <DatabaseName>.<TableName> TO <User>@<SlaveHost> IDENTIFIED BY '<Password>';
 或者
 INSERT INTO user VALUES('<SlaveHost>','<User>',password('<Password>'),'N','N','N','N','N','N','N','N','N','Y','N','N','N','N');
 FLUSH PRIVILEGES;
 
 Master启动配置文件:
 [mysqld]
 log-bin
 binlog-do-db=<DatabaseName>
 server-id=<MasterId,例如1>
 
 或者:
 [mysqld]
 log-bin
 replicate-wild-do-table=<DatabaseName>.<TableName>
 replicate-wild-ignore-table=<DatabaseName>.<TableName>
 server-id=<MasterId,例如1>
 
2、Slave端配置
 
 Slave启动配置文件:
 [mysqld]
 master-host=<MasterHost>
 master-user=<User>
 master-password=<Password>
 master-port=<MasterPort>
 server-id=<SlaveId,例如2>

3、停止服务

 mysqladmin -S <MasterSock> -u root -p shutdown
 mysqladmin -S <SlaveSock> -u root -p shutdown

4、拷贝数据

5、启动Master服务

 <MasterMysql>/safe_mysqld --defaults-file=<Master配置文件> <其他选项> &
 Master数据库<DATADIR>目录应该生成 <MasterHost>-bin.<当前序号> 文件

6、启动Slave服务

 <DATADIR>/master.info配置文件:
 <MasterHost>-bin.<当前序号,例如1>
 <开始位置,初始必须为73>
 <MasterHost>
 <User>
 <Password>
 <MasterPort>
 <出错重试间隔(s),例如60>

 <SlaveMysql>/safe_mysqld --defaults-file=<Slave配置文件> <其他选项> &

7、测试/监视

 Master数据库中执行
 SHOW MASTER STATUS;
 应显示
 +---------------------------+-----------+--------------+------------------+
 | File                      | Position  | Binlog_do_db | Binlog_ignore_db |
 +---------------------------+-----------+--------------+------------------+
 |<MasterHost>-bin.<当前序号>| <CurrPos> |<DatabaseName>|                  |
 +---------------------------+-----------+--------------+------------------+
 
 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 |
 +---------------+-------------+-------------+---------------+---------------------------+-----------+---------------+-----------------+---------------------+------------+------------+--------------+
 | <MasterHost>  | <SlaveUser> | <MasterPort>| XX            |<MasterHost>-bin.<当前序号>| <CurrPos> | 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 '<MasterHost>-bin.<当前序号>';

MySQL从3.x升级到4.x出现的问题解决办法:【上一篇】
在Linux下配置JSP+TOMCAT+MYSQL环境:【下一篇】
【相关文章】
  • MySQL从3.x升级到4.x出现的问题解决办法
  • mysql 时间函数用法 集合
  • Oracle 和 mysql 的一些简单命令对比参照
  • MySQL使用tips
  • 如何安装mysql 5.0
  • Mysql使用基础知识
  • 安装mysql数据库
  • mysql的最大连接数默认是100
  • mysql 程序参考
  • Performance Tuning MySQL
  • 【随机文章】
  • CSS滤镜之Shadow属性
  • checkbox分级操作(不同名)
  • 企业sendmail的架构
  • 一年
  • 用确定的有穷自动机解决修道士与野人问题
  • 一步一教你干掉路由器
  • 虚拟机RedHatLinux9安装Oralce92全过程
  • 一种实现任意字符串排列的算法
  • 数据仓库术语一览
  • linux 下MYSQL服务器的安装及配置
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.