有没有最佳做法,以确保特权不会复制到MySQL从服务器? 问题是,有一个维护用户在MySQL表中,每个框上有不同的密码。 像启动/closures脚本的东西使用这些表。 当你从一个主人复制,它改变密码,并打破东西。
什么是最佳实践,以确保实际的MySQL数据库(包含授权,用户,主机)不会因为复制而中断?
你通常复制到奴隶的权限?
不要使用replicate-do-db和replicate-ignore-db ,因为这些选项是危险的。 看这篇文章。
只需使用--replicate-wild-ignore-table=mysql.%选项。
我build议你设置--replicate-wild-ignore-table=mysql.user – 这个只跳过密码和全局授予复制,而表和列级授权仍然被复制。
您也可以使用SET SQL_LOG_BIN=0来禁用当前会话的日志语句,例如。 当您创build新用户或更改密码时。
常见问题解答 :
使用–replicate-wild-ignore-table = mysql。%选项启动服务器。
您也可以将其用作my.cnf选项。
通常我们会复制GRANT 。 因为我们经常要奴隶行为作为主人的相同的只读副本。 这样,我们的应用程序就可以在数据库服务器之间无缝地切换RO操作 在开发其他工具时,您必须考虑到这一点,并密切关注您的GRANT允许的内容,尤其是关于主机名。
在奴隶你有更多的select来过滤数据。 有replicate-do-db和replicate-ignore-db选项,它们还有replicate-do-table,replicate-ignore-table,replicate-wild-do-table和replicate-wild-ignore-table选项,它们可以是用于过滤掉您不想复制的内容。 我希望它有帮助。