MySQL手册版本 5.0.20-MySQL同步(二)

秋秋冉

秋秋冉

2016-01-29 13:51

MySQL手册版本 5.0.20-MySQL同步(二),MySQL手册版本 5.0.20-MySQL同步(二)

6.4 设置同步

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

以下描述了如何快速设置MySQL同步服务器。假设你打算同步全部的数据库,并且之前没有设置过。需要关闭master服务器以完成全部的步骤。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

本章描述的过程可以用于一个slave的情况,也可以用于多个slave的情况。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

这只是一个最直接设置slave的办法,并不是只有一个。例如,已经有了master的数据快照(snapshot),master已经设置了服务器编号ID(server_id)并且启用了二进制日志,这就无需关闭master或者阻止在master上更新数据了。详情请看"6.9 Replication FAQ"。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

想要完全掌握MySQL同步设置,最好把本章全部读完,并且测试在"14.6.1 SQL Statements for Controlling Master Servers"和"14.6.2 SQL Statements for Controlling Slave Servers"中提到的全部语句。而且要熟悉各种同步设置选项,详情请看"6.8 Replication Startup Options"。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

注意,这个过程以及后面一些同步SQL语句需要有 SUPER 权限。MySQL 4.0.2以前,则是 PROCESS 权限。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

请确认master和slave上都安装了较近的MySQL版本,且这些版本之间要能兼容,在"6.5 Replication Compatibility Between MySQL Versions"中列出来了。请确认在最新版本中还有存在问题,否则不要报告该bug。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

在master上新加一个帐户,slave才能用它来连接。这个帐户必须授予 REPLICATION SLAVE 权限。如果这个帐户只用于同步(推荐这么做),那就没必要授予其他权限了。设定你的域是 mydomain.com,想要授权一个帐户 repl 使用密码 slavepass,允许它可以在域里的任何主机连接到master上。用 GRANT 语句来创建帐户:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

mysql GRANT REPLICATION SLAVE ON *.*

- TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

在MySQL 4.0.2以前,用 FILE 权限来代替 REPLICATION SLAVE:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

mysql GRANT FILE ON *.*

- TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

如果打算在slave上执行 LOAD TABLE FROM MASTER 或 LOAD DATA FROM MASTER 语句,那么必须给该帐户授予附加权限:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

授予全局 SUPER 和 RELOAD 权限。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

授予对想要加载的所有表上的 SELECT 权限。在master上任何没有 SELECT 权限的表都会被 LOAD DATA FROM MASTER 略过。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

如果只用到 MyISAM 表,执行 FLUSH TABLES WITH READ LOCK 语句刷新所有表并且阻止其他写入:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

mysql FLUSH TABLES WITH READ LOCK;

不要退出执行 FLUSH TABLES 语句的客户端,以保持读锁有效(如果退出了,读锁就释放了)。然后从master上取得数据快照。比较简单的办法就是把数据目录打包压缩。例如,Unix上的 tar, PowerArchiver, WinRAR, WinZip,或Windows上的类似程序。想要用 tar 来创建一个压缩包,包括所有的数据库,只需执行以下命令(把目录改成你的真实路径):

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

shell tar -cvf /tmp/mysql-snapshot.tar .

如果只想打包一个数据库 this_db,只需执行命令:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

shell tar -cvf /tmp/mysql-snapshot.tar ./this_db <

展开更多 50%)
分享

猜你喜欢

MySQL手册版本 5.0.20-MySQL同步(二)

PHP
MySQL手册版本 5.0.20-MySQL同步(二)

MySQL手册版本 5.0.20-MySQL同步

PHP
MySQL手册版本 5.0.20-MySQL同步

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL手册版本 5.0.20-MySQL同步(三)

PHP
MySQL手册版本 5.0.20-MySQL同步(三)

MySQL手册版本 5.0.20-MySQL优化(二) (1)

PHP
MySQL手册版本 5.0.20-MySQL优化(二)  (1)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL手册版本 5.0.20-MySQL优化(二) (1)(2)

PHP
MySQL手册版本 5.0.20-MySQL优化(二)  (1)(2)

MySQL手册版本 5.0.20-MySQL优化(二) (1)(4)

PHP
MySQL手册版本 5.0.20-MySQL优化(二)  (1)(4)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《怪物X联盟》训练师攻略

《怪物X联盟》训练师攻略

开发者面临的.Net挑战(一)

开发者面临的.Net挑战(一)
下拉加载更多内容 ↓