MySQL 参数解析 tx_read_only & transaction_read_only

2023年 8月 15日 24.8k 0

参数 tx_read_only 或者 transaction_read_only 用于设置事务的访问模式,可设置为 OFF/ON,默认值为 OFF,表示事务可读,可写,设置为 ON 表示事务只读,不可写。

transaction_read_only 参数在 5.7.20 版本引入,tx_read_only 参数在 8.0.3 版本被移除,这两个参数意义完全一样,只是名称不同,transaction_read_only 名称更加规范,在高版本 MySQL 中,建议使用 transaction_read_only。

该参数可以在全局范围内设置,也可以在 session 级设置,在全局范围内设置该参数后,对于已有的连接并不会生效,因为已有连接的 session 级参数仍然保持原样,因此需要杀掉已有连接,让应用重新建立连接,以便使该参数对所有连接生效。

SET GLOBAL transaction_read_only = ON;
SET SESSION transaction_read_only = ON;

如果设置 transaction_read_only 为 ON,此时向表中写入数据,会产生报错,如下:
ERROR 1792 (25006): Cannot execute statement in a READ ONLY transaction.

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论