mysql - 锁是否通过复制传播?

ada*_*ine 14 mysql replication myisam locks

我有MyISAM表的Mysql主从复制.所有更新都在主站上完成,选择在主站或从站上完成.

看来我们在进行某些更新时可能需要手动锁定几个表.虽然此写锁定在表上,但锁定表上不会发生任何选择.但奴隶呢?锁是否会传播出来?

假设我有table_A和table_B.我在主服务器上的table_A和table_B上启动锁定并开始执行更新.此时没有其他连接可以读取主机上的table_A和table_B吗?但是,如果此时另一个连接试图从一个奴隶读取表格,他们可以这样做吗?

Tat*_*ata 3

MySQL 复制的所有内容都可以在二进制日志中找到。

您可以运行以下命令来查看详细信息。

show global variables like 'log_bin%';
Run Code Online (Sandbox Code Playgroud)

log_bin_basename 将告诉您带有基本文件名的二进制日志的路径。

并运行

show binary logs
Run Code Online (Sandbox Code Playgroud)

查找服务器上当前存在的二进制文件。

mysqlbinlog您可以通过使用命令和文件名或show binlog events ...从 MySQL CLI运行来检查写入文件的实际命令 。

另外,检查您使用的 binlog_format 是什么。

基本上 - 表的锁定不会直接传播到从站,但当时,whey 将执行已执行的更新,如果需要,它们将执行更新表的锁定。