mysql 据库同步问题 - Leftleg's Blog - Leftleg 生活 记录 摄影 工作 吉他 山地车 blog" href="http://discover.bigboobsidol.com/feed//de/dvd/anathema_a_moment_in_time_dvd.htm" /> Discover Bigboobsidol De Dvd Anathema A Moment In Time Dvd Big Boobs Big Boogs Idol <img src="http://www.fufudots.com/wp-content/uploads/2009/05/dad.jpg"/>mys<img src="http://www.boobsview.com/bigboobdreams/m013/03.jpg"/>ql <img src="http://www.gothereguide.com/Images/UK/London/Big_Ben_Parliament.jpg"/>据库<img src="http://www.cosmates.jp/shop/images/products/g556-m_big.jpg"/><img src="http://www.spoiltdogues.com/images/Boogie/verylazyboogs.jpg"/>同步问题 - Leftleg's Blog - Leftleg<img src="http://www.blonde-movies.com/tgp/asian/1348/images/18.jpg"/> 生活 记录 摄影 工作 <img src="http://www.boobs4you.net/246kk/c11/k03.jpg"/>吉他 山地车 blog

Big Idol

Discover Bigboobsidol De Dvd Anathema A Moment In Time Dvd Big Boobs Big Boogs Idol mysql 据库同步问题 - Leftleg's Blog - Leftleg 生活 记录 摄影 工作 吉他 山地车 blog

Discover Bigboobsidol De Dvd Anathema A Moment In Time Dvd Big Boobs Big Boogs Idol

要同步的数据库为同样的数据库了
 这里有一些技巧,包括 mysql 的 sql 指令说明下
3.1 方法之一,就是英文说明中说的,先锁定数据库读写功能 ( 其实最好是停止 mysqld 服务,再作备份) 然后用 tar 备份数据库目录,转到 slave 服务器相同数据目录中

 3.2 方法之二,使用 mysql studio 这样的实用工具,直接使用 mysql studio 的 backup database 工具把数据库同步

 3.3 以上两种方法都是 master 数据库中有不少数据记录,按上两 种方法得到 master 与 slave 有相同数据库与数据记录。 而第三种方法,则是适合于新建数据库的情况,特别适合于 master 与 slave 在 my.cnf 已经设置好 replication 关系 (但 未指定 database 同步数据库 ) 的情况: 这就是使用?mysql 的 sql 语句 load table from master 与 load data from master;
 load table from master 可以从 master 数据库把表结构复制到 slave 数据库中,这样可以建立同步的表。
 load data from master 是从 master 数据库把数据导入到 slave 数据表中,条件是 master 从一开始安装运行就使用了 bin-log 参数而保存有二进制日志

4. 接下来就是配置 master 与 slave 的 my.cnf 文件,使得 replcation 能有合适的启动参数以支持数据同步
 技巧: 如果你使用 win2k 的 mysql 那么,你可以下载 mysql.com 出的官方 mysql administrator 实用程序,直接在 mysql administrator 中即可配置 master 与 slave ,同时也可以配置 query-cache 哟

 在 master 的 my.cnf ( 如果是 win32 那就是 my.ini ) 增加
 [mysqld]
 log-bin =
 server-id=1

 注意,上面的 log-bin = 中的 等号 = 是不可少的

在 slave 的 my.cnf 修改
 [mysqld]
 server-id=2 # 如果有多个 slave 就改为不重复的 id 就好,在mysql 4.1 中,这个已经取消了
 master-host=10.10.10.22
 master-user=backup #同步用户帐号
 master-password=1234
 master-port=3306
 master-connect-retry=60 #预设重试间隔60秒
 replicate-do-db=test # 告诉slave只做 test 数据库的更新
 bin-log =


5. 检查 master 与 slave 配置状态,使用 show master status; 与 show slave status; 这两个 SQL 指令即可在 master 与 slave 查看配置状态。这里有两个状态变量十分重要

mysql > SHOW MASTER STATUS;
+---------------+----------+--------------+------------------+
| File?? | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| mysql-bin.003 | 73??| test?? | manual,mysql? |
+---------------+----------+--------------+------------------+

注意 File 是 mysql-bin.003 而 position 是 73
这个文件是对 test 这个 数据库的二进制日志记录,记录数据变化的当前记录条数是 73


前面我们说过,二进制日志记录着某个数据库所有数据记录变化的 sql 操作语句,如 insert / update / delete 等,正是因为如此,在 slave 同步 mysql 数据库操作时,其实是读取master 中这个 mysql-bin.003 二进制日志中的 sql 操作,同在 slave 中执行这些 sql 操作,所以,同步成功有以下几个条件
 1. master 与 slave 有相同的数据库表结构,最好 database name 也一样 ( 可以设置为不一样的 database name)
 2. master 与 slave 有相同的初始数据记录,保证同步操作开始后两者数据一致
 3. master 必须使用 bin-log 二进制日志记录 ( 推荐 slave 也使用 bin-log )
 4. slave 是从 master 的 bin-log 是读取 sql 记录来同步,所以,从哪一条 log 开始读取很重要 ( 下面的第 7 条操作,就是保证 slave 能与 master 保持相同的记录读取,并读取正确的 bin-log 日志文件 )

6.

7. 在 slave 执行下面 sql 操作

mysql> CHANGE MASTER TO
 ->? MASTER_HOST='master_host_name',
 ->? MASTER_USER='replication_user_name',
 ->? MASTER_PASSWORD='replication_password',
 ->? MASTER_LOG_FILE='recorded_log_file_name',
 ->? MASTER_LOG_POS=recorded_log_position;

这里,把 上面的 redcorded_log_file_name 改为 mysql-bin.003 而 recorded_log_position 改为 73 (特别注意哟,这是关系关键)


最后,测试一下吧


linux 下的 mysql 与 win2k 下的 mysql 作 replication 会有什么技巧:


1. 注意 linux 下有大小写区分,而 win2k 下没有
 所以最好使用 mysqldump 方法来让两个数据库初始化同步,而不能使用 tar 方式直接 copy 数据库表文件
 使用 mysql studio 来作 database backup 也不错

2. 注意 win2k 下的 mysql 配置文件是 c:\my.ini
 你可以使用 mysql administrator 0.9 这个图型界面的实用工具来设置

3. 如果 win2k 下的 mysql 为 master , 一定要注意 show master sta oDiscover Bigboobsidol De Dvd Anathema A Moment In Time Dvd Big Boobs Big Boogs Idol mysql 据库同步问题 - Leftleg's Blog - Leftleg 生活 记录 摄影 工作 吉他 山地车 blogb m c c Boobs Big sDiscover Bigboobsidol De Dvd Anathema A Moment In Time Dvd Big Boobs Big Boogs Idol mysql 据库同步问题 - Leftleg's Blog - Leftleg 生活 记录 摄影 工作 吉他 山地车 blogc o Big