mysql db 复制的 mysql 最佳实践(授予存储)

mysql db 复制的 mysql 最佳实践(授予存储)

有没有最佳实践来确保权限不会被复制到 mysql 从属服务器?问题是,mysql 表中的维护用户在每个框上都有不同的密码。启动/关闭脚本等都会使用这些表。当您从主服务器复制时,它会更改密码并破坏一切。

有哪些最佳实践可以确保实际的 mysql db(包含授权、用户、主机)不会因为复制而中断?

您通常也会将权限复制到从属设备上吗?

答案1

不要使用replicate-do-dbreplicate-ignore-db,因为这些选项很危险。 看看这篇文章。

只需使用--replicate-wild-ignore-table=mysql.%选项。

我建议您设置--replicate-wild-ignore-table=mysql.user- 这仅跳过密码和全局授权复制,而表和列级授权仍然被复制。

您还可以使用SET SQL_LOG_BIN=0它来禁用当前会话的日志记录语句,例如当您创建新用户或更改密码时。

答案2

常问问题解释:

使用 --replicate-wild-ignore-table=mysql.% 选项启动服务器。

您也可以将其用作一个my.cnf选项。

通常我们进行复制GRANT。因为我们经常希望从服务器表现为与主服务器相同的只读副本。这样,我们的应用程序就可以在数据库服务器之间无缝切换以进行 RO 操作。在开发其他实用程序时,您只需考虑到这一点,并密切关注您的GRANTs 允许的内容,尤其是主机名方面。

答案3

在从服务器上,您有更多选项来过滤数据。有 replicate-do-db 和 replicate-ignore-db 选项,还有 replicate-do-table、replicate-ignore-table、replicate-wild-do-table 和 replicate-wild-ignore-table 选项,可用于过滤掉您不想复制的内容。希望对您有所帮助。

相关内容