我正在做数据复制。我有一台主服务器和一台从服务器,并且我的数据已成功从主服务器复制到从服务器。现在我想锁定我的从服务器数据库进行写入。
我使用LOCKED TABLE mytable READ
并成功地将我的表锁定在从属设备上,例如“myIns1”。但是当我使用其他实例打开 MySQL 并尝试在同一个数据库上写入时,它很容易写入,有时也会挂起。我希望我的从服务器数据库对所有 MYSQL 实例和用户完全锁定。请帮忙。
我正在做数据复制。我有一台主服务器和一台从服务器,并且我的数据已成功从主服务器复制到从服务器。现在我想锁定我的从服务器数据库进行写入。
我使用LOCKED TABLE mytable READ
并成功地将我的表锁定在从属设备上,例如“myIns1”。但是当我使用其他实例打开 MySQL 并尝试在同一个数据库上写入时,它很容易写入,有时也会挂起。我希望我的从服务器数据库对所有 MYSQL 实例和用户完全锁定。请帮忙。
您可以在从站中使用只读选项。这可以防止没有 SUPER 权限的用户更新数据库。在这里查看更多信息:
使从属不允许除从属线程或具有超级权限的用户之外的更新。在从属服务器上,这有助于确保从属服务器仅接受来自其主服务器而不是来自客户端的更新。此变量不适用于 TEMPORARY 表。
你用的是哪个版本?并且 MySQL Replication 可以选择仅复制特定数据库,对其进行配置。
其他选项删除不需要的数据库的访问权限,但是当不需要的数据库在 master 中有任何更改时,它将显示错误。它将写入 binlog 并发送到从服务器。