我已经将 mysql 配置为将自身复制到另一个数据库服务器。通过我对此设置的测试,似乎从服务器可以在复制的数据库中手动更改值。
有没有办法禁用从属数据库上的任何更改,而不会禁用从属服务器的工作?我基本上希望将其设置为从属服务是唯一能够更改数据库上任何内容的服务。
提前致谢。
答案1
可以将从属设置为只读(即它只监听复制线程)
使用 http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_read_only
“启用后,服务器不允许任何更新,除非具有 SUPER 权限的用户或(在从属服务器上)由从属线程执行的更新”
mysql> 设置全局 read_only = ON;
笔记:root 用户仍然可以写..