Mysql 复制—限制删除数据库语句

Mysql 复制—限制删除数据库语句

我们有一个主从 mysql 复制设置。主服务器有多个数据库,它们经常被创建和删除。我想限制从服务器不删除数据库。我在 mysql 帮助页面上找不到任何这样的选项。我们提供 Saas 模型 ERP 应用程序,并在不同的数据库中维护每个客户。试用期过后,我们会定期从主服务器删除数据库(当然是在备份之后)。只丢失过一次磁盘,丢失了其中几个数据库。

答案1

你可以通过以下方式阻止某些命令被写入 binlog,从而阻止它们被复制:

SET sql_log_bin = 1

在当前会话中。更多信息请参见:

http://dev.mysql.com/doc/refman/5.7/en/set-sql-log-bin.html

确保执行此操作的连接未用于其他目的(例如,在连接池中),因为在您执行此操作之前,其中的任何命令都不会写入 binlog

SET sql_log_bin = 0

或者重新建立连接。

答案2

- 只读不会达到此目的。它会导致从属服务器不允许除从属线程或具有 SUPER 权限的用户之外的更新。在从属服务器上,这可以用于确保从属服务器只接受来自其主服务器的更新,而不接受来自客户端的更新。

相关内容