mysql如何配置事务隔离级别_mysql isolation level修改方法

张开发
2026/4/16 3:15:24 15 分钟阅读

分享文章

mysql如何配置事务隔离级别_mysql isolation level修改方法
MySQL事务隔离级别支持在线修改会话级可随时修改且仅影响当前连接全局级修改只对新连接生效配置文件中需用transaction-isolationREAD-COMMITTED短横线、全大写推荐加引号重启后才生效。MySQL 事务隔离级别能在线修改吗能但分两种情况会话级和全局级。会话级随时可改不影响别人全局级改了只影响新连接当前已连上的连接不变。常见错误是以为 SET GLOBAL transaction_isolation READ-COMMITTED 一执行所有连接立刻生效——其实老连接还用着原来的隔离级别得重连才感知到新配置。查看当前会话级别SELECT transaction_isolation查看全局默认值SELECT global.transaction_isolation临时改当前会话SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED永久改默认需重启或配合配置文件SET GLOBAL transaction_isolation READ-COMMITTEDmy.cnf 里怎么配 isolation level 才真正生效直接写 transaction-isolation READ-COMMITTED 在 [mysqld] 段就行但注意格式必须用短横线-不能写成下划线_否则 MySQL 启动时会静默忽略这行。另外这个配置只在 mysqld 启动时读取一次。如果改了 my.cnf 却没重启服务或者用 mysqladmin shutdown 以外的方式停库比如 kill -9新配置永远不会加载。正确写法transaction-isolation READ-COMMITTED错误写法transaction_isolation READ-COMMITTED下划线无效值必须全大写、带引号不MySQL 接受大小写混合但推荐全大写加单引号更稳妥transaction-isolation READ-COMMITTEDREAD-COMMITTED 和 REPEATABLE-READ 的实际行为差异在哪关键不是“能不能读到新数据”而是“同一事务内多次 SELECT 是否看到相同结果”。REPEATABLE-READ 下第一次 SELECT 后后续 SELECT 会复用快照哪怕其他事务已提交READ-COMMITTED 每次 SELECT 都读最新已提交版本。 MarsCode 字节跳动旗下的免费AI编程工具

更多文章