MySQL 事务配置命令行操作和持久化

参考

MySQL 官方参考手册 提供 5.5 5.6 5.7 8.0 版本的参考手册

https://dev.mysql.com/doc/refman/5.5/en/set-transaction.html

# MySQL 8.0 版本参考手册
4.2.4 Specifying Program Options # 事务持久化
5.1.1 Configuring the Server # MySQL 的配置
5.1.7 Server Command Options # mysqld 的选项信息,事务持久化。
15.7.2.1 Transaction Isolation Levels
13.3.7 SET TRANSACTION Syntax
Appendix D Indexes System Variable Index # 事务持久化
4个帮助相关的表
mysql.help_category
mysql.help_keyword
mysql.relation
mysql.help_topic 存放语法格式和示例
mysqld reads options from the [mysqld] and [server] groups. mysqld_safe reads options from
the [mysqld], [server], [mysqld_safe], and [safe_mysqld] groups. mysql.server reads
options from the [mysqld] and [mysql.server] groups.
There are several ways to specify options for MySQL programs:
• List the options on the command line following the program name. This is common for options that
apply to a specific invocation of the program.
• List the options in an option file that the program reads when it starts. This is common for options
that you want the program to use each time it runs.
• List the options in environment variables (see Section 4.2.11, “Setting Environment Variables”).
This method is useful for options that you want to apply each time the program runs. In practice,
option files are used more commonly for this purpose, but Section 5.8.3, “Running Multiple MySQL
Instances on Unix”, discusses one situation in which environment variables can be very helpful. It
describes a handy technique that uses such variables to specify the TCP/IP port number and Unix
socket file for the server and for client programs.
Options are processed in order, so if an option is specified multiple times, the last occurrence takes
precedence.

帮助信息,本质上是查询4个帮助表获取帮助信息

隔离级别设置

mysql> help isolation
Name: 'ISOLATION'
Description:
Syntax:
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
{
REPEATABLE READ
| READ COMMITTED
| READ UNCOMMITTED
| SERIALIZABLE
}

其他事务相关的帮助

mysql> help transactions
You asked for help about help category: "Transactions"
For more information, type 'help <item>', where <item> is one of the following
topics:
CHANGE MASTER TO
DEALLOCATE PREPARE
EXECUTE STATEMENT
ISOLATION
LOCK
PREPARE
PURGE BINARY LOGS
RESET MASTER
RESET SLAVE
SAVEPOINT
SET GLOBAL SQL_SLAVE_SKIP_COUNTER
SET SQL_LOG_BIN
START SLAVE
START TRANSACTION
STOP SLAVE
XA

查看会话和全局变量

mysql> help show variables;
Name: 'SHOW VARIABLES'
Description:
Syntax:
SHOW [GLOBAL | SESSION] VARIABLES
[LIKE 'pattern' | WHERE expr]

set 命令

mysql> help set
Name: 'SET'
Description:
Syntax:
SET variable_assignment [, variable_assignment] ... variable_assignment:
user_var_name = expr
| [GLOBAL | SESSION] system_var_name = expr
| [@@global. | @@session. | @@]system_var_name = expr

事务操作实战 5.5版本

mysql> select @@version;
+-----------+
| @@version |
+-----------+
| 5.5.40 |
+-----------+

自动提交查询和修改 autocommit 当前会话和全局

# 修改当前会话变量 autocommit ,可以使用 on/off 0/1 true/false
mysql> set autocommit=off;
Query OK, 0 rows affected (0.03 sec) # 查看当前会话变量 autocommit
mysql> show variables like '%autoco%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | OFF |
+---------------+-------+
1 row in set (0.00 sec) # 查看全局变量 autocommit
mysql> show global variables like '%autoco%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec) # 使用 0/1
mysql> set autocommit=1;
Query OK, 0 rows affected (0.05 sec) mysql> show variables like '%autoco%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec)

事务隔离级别查询和修改 当前会话和全局

注意:必须加上 session/global 不然不起作用

# 设置当前会话的事务隔离级别。 注意:必须写 session/global ,不然不起作用。
mysql> set session TRANSACTION ISOLATION LEVEL REPEATABLE READ;
mysql> set session TRANSACTION ISOLATION LEVEL READ COMMITTED;
mysql> set session TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
mysql> set session TRANSACTION ISOLATION LEVEL SERIALIZABLE;
Query OK, 0 rows affected (0.00 sec) # 查询当前会话的事务隔离级别
mysql> show variables like '%iso%';
+---------------+----------------+
| Variable_name | Value |
+---------------+----------------+
| tx_isolation | READ-COMMITTED |
+---------------+----------------+
1 row in set (0.00 sec) # 查询全局的事务隔离级别
mysql> show global variables like '%iso%';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| tx_isolation | REPEATABLE-READ |
+---------------+-----------------+
1 row in set (0.00 sec)

事务配置持久化

将 MySQL 配置选项帮助信息保存到文件

C:\Users\jie>mysqld --verbose --help > d:\00\a.txt
transaction-isolation  REPEATABLE-READ
autocommit TRUE
键 transaction-isolation 键可以用连字符或者下划线
取值 READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, or SERIALIZABLE
To set the global default isolation level at server startup, use the
--transaction-isolation=level option to mysqld on the command line or
in an option file. Values of level for this option use dashes rather than spaces, so the permissible values are READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, or SERIALIZABLE. For example, to set the default isolation level to REPEATABLE READ, use these lines in the [mysqld] section of an option file: [mysqld]
transaction-isolation = REPEATABLE-READ

持久化实战

# D:\chengxu\MySQL\mysql-5.5\my.ini 文件中添加如下配置。
# D:\chengxu\MySQL\mysql-5.5\ 是我的 MySQL 5.5 安装目录。 # 事务隔离级别 键可以用连字符或下划线分隔。值是固定的,使用连字符相连而不是空格。
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, or SERIALIZABLE
transaction_isolation=READ-COMMITTED
# 配置自动提交 on/off 0/1 true/false
autocommit=on

MySQL 事务配置命令行操作和持久化的更多相关文章

  1. MySQL基本操作之命令行操作

    MySQL基础操作 MySQL基础操作--命令行操作

  2. Phoenix |安装配置| 命令行操作| 与hbase的映射| spark对其读写

    Phoenix Phoenix是HBase的开源SQL皮肤.可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据. 1.特点 1) 容易集成:如Spark,Hi ...

  3. mysql 命令行操作入门(详细讲解版)

    之前分享过多次Mysql主题,今天继续分享mysql命令行入门   1. 那么多mysql客户端工具,为何要分享命令行操作? -快捷.简单.方便 -在没有客户端的情况下怎么办 -如果是mysql未开启 ...

  4. windows 命令行操作 Mysql 数据库

    1 前言 有接手一个新项目,项目中到了 Mysql 数据库 ,这里总结下 windows 命令行操作 Mysql 数据库. 2 Cmd操作数据库 2.1 连接Mysql服务器,命令如下:(root用户 ...

  5. DOS命令行操作MySQL数据库中文乱码问题解决

    我们在 dos 命令行操作中文时,会报错 ’); ERROR (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 原因:因为 ...

  6. Windows命令行操作MySQL

    使用命令行操作mysql的一些简单步骤: //进入MySQL数据库    > mysql -hlocalhost -uroot -p//显示  所有数据库    > show databa ...

  7. DOS命令行操作MySQL常用命令

    平时用可视化界面用惯了,如果紧急排查问题,没有安装可视化工具的话,只能通过命令来看了. 以备不时之需,我们要熟悉一下命令行操作MySQL. 打开DOS命令窗口:WIN + R 输入cmd,回车 然后输 ...

  8. MySQL sql命令行操作数据库

    数据库命令行操作 命令行操作数据库, [if exists] 可加可不加, 命令行操作一定要加英文分号 ; 结尾 创建数据库 : create database [if not exists] 数据库 ...

  9. Zookeeper(一)CentOS7.5搭建Zookeeper3.4.12集群与命令行操作

    一. 分布式安装部署 1.0 下载地址 官网首页: https://zookeeper.apache.org/ 下载地址: http://mirror.bit.edu.cn/apache/zookee ...

随机推荐

  1. java导出标题多行且合并单元格的EXCEL

    场景:项目中遇到有需要导出Excel的需求,并且是多行标题且有合并单元格的,参考网上的文章,加上自己的理解,封装成了可自由扩展的导出工具 先上效果,再贴代码: 调用工具类进行导出: public st ...

  2. 【沙龙报名中】集结腾讯技术专家,共探AI技术原理与实践

    | 导语 9月7日,上海市长宁区Hello coffee,云+社区邀您参加<AI技术原理与实践>沙龙活动,聚焦人工智能技术在各产业领域的应用落地,共话AI技术带来的机遇与挑战,展望未来. ...

  3. java十题

    这是我收集的10个最棘手的Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Jav ...

  4. 【2019年07月22日】A股最便宜的股票

    查看更多A股最便宜的股票:androidinvest.com/CNValueTop/ 便宜指数 = PE + PB + 股息 + ROE,四因子等权,数值越大代表越低估. 本策略只是根据最新的数据来选 ...

  5. 企业微信同步LDAP

    1.需求 定期同步企业微信的用户信息到 LDAP 中,当有新用户时,会自动发送LDAP的账号密码给该用户邮箱. 2.环境 python 3.x 需要安装两个模块 pip install ldap3 r ...

  6. Laravel框架中Echo的使用过程

    今天的这篇文章中给大家分享关于laravel框架中echo的使用,文章的内容是一步一步来的,用了16步走完一个过程,过程很清晰,希望可以帮助到有需要的朋友吧.话不多说,直接看内容.官方文档推荐使用 P ...

  7. Nginx php上传文件大小的设置

  8. log4j2记录日志到数据库(完美支持mysql使用DruidDataSource)

    引用 log4j-core-2.12.1.jar log4j-web-2.12.1.jar 1:配置数据源 2:调用类 3:写入

  9. Sitecore 十大优秀功能

    为客户的需求创建最佳解决方案是我们的主要目标.良好的设计不仅仅是视觉吸引力,还要确保用户体验简单直观.在设计Sitecore网站时,我们始终牢记这一点  . 以下是一些我最喜欢的功能,可以帮助我们使用 ...

  10. scala练习题--万年历

     使用方法去完成 import scala.io.StdIn object work1 { def main(args: Array[String]): Unit = { // 1.先输出提示语句,并 ...