mysql数据库如何实现双机热备的配置成功方案(编辑修改稿)内容摘要:

MySQL 版本,且这些版 本之间要能兼容,在 Replication Compatibility Between MySQL Versions中列出来了。 请确认在最新版本中还有存在问题,否则不要报告该bug。 在 master 上新加一个帐户, slave 才能用它来连接。 这个帐户必须授予 REPLICATION SLAVE 权限。 如果这个帐户只用于同步 (推荐这么做 ),那就没必要授予其他权限了。 设定你的域是 ,想要授权一个帐户 repl 使用密码 slavepass,允许它可以在域里的任何主机连接到 master 上。 用 GRANT 语句来创建帐户: mysql GRANT REPLICATION SLAVE ON *.* TO 39。 repl39。 @39。 %.39。 IDENTIFIED BY 39。 slavepass39。 在 MySQL 以前,用 FILE 权限来代替 REPLICATION SLAVE: mysql GRANT FILE ON *.* TO 39。 repl39。 @39。 %.39。 IDENTIFIED BY 39。 slavepass39。 如果打算 在 slave 上执行 LOAD TABLE FROM MASTER 或 LOAD DATA FROM MASTER 语句,那么必须给该帐户授予附加权限: 授予全局 SUPER 和 RELOAD 权限。 授予对想要加载的所有表上的 SELECT 权限。 在 master 上任何没有 SELECT 权限的表都会被 LOAD DATA FROM MASTER 略过。 如果只用到 MyISAM 表,执行 FLUSH TABLES WITH READ LOCK 语句刷新所有表并且阻止其他写入: mysql FLUSH TABLES WITH READ LOCK。 不要退出执行 FLUSH TABLES 语句的客户端,以保持读锁有效 (如果退出了,读锁就释放了 )。 然后从 master 上取得数据快照。 比较简单的办法就是把数据目录打包压缩。 例如, Unix 上的 tar, PowerArchiver, WinRAR, WinZip,或 Windows 上的类似程序。 想要用 tar 来创建一个压缩包,包括所有的数据库,只需执行以下命令 (把目录改成你的真实路径 ): shell tar cvf /tmp/ . 如果只想打包一个数据库 this_db,只需执行命令: shell tar cvf /tmp/ ./this_db 然后把这个文件拷贝到 slave 的 `/tmp` 目录下。 在 slave 上,执行以下命令解开压缩包 (把目录改成你的真实路径 ): shell tar xvf /tmp/ 可能不需要同步 mysql 数据库,因为在 slave 上的权限表和 master 不一样。 这时,解开压缩包的时候要排除它。 同时在压缩包 中也不要包含任何日志文件,或者 `~ 或 `` 文件。 当在 master 上的 FLUSH TABLES WITH READ LOCK 语句还生效时,在 master 上读取当前二进制文件的文件名及偏移位置: mysql SHOW MASTER STATUS。 +++++ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +++++ | | 73 | test。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。