注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效;有些参数作用域是全局的,且不可改变;有些可以为每个用户提供单独(会话)的设置

一、服务器选项

# mysqld --help -verbose #获取所有可以的选项

# mysqld --print-defaults #获取默认设置

# mysqld_safe –-skip-name-resolve=1 :在启动服务时加选项参数,禁止反解析IP,提高登录效率;同时也可以将skip_name_resolve=1参数加入到my.cnf配置文件中

二、服务器系统变量

服务器变量分为动态变量和非动态变量,动态变量可以在服务器不重启的情况下修改

服务器变量还分全局变量和会话变量,全局变量修改后影响后来登录的用户;会话变量只影响当前会话,退出后失效

MariaDB [(none)]> SHOW GLOBAL VARIABLES;:查看所有全局变量

MariaDB [(none)]> SHOW VARIABLES;:查看当前所有会话变量

修改全局变量:仅对修改后新创建的会话有效;对已经建立的会话无效

mysql> SET GLOBAL system_var_name=value;
mysql> SET @@global.system_var_name=value;

修改会话变量:

mysql> SET [SESSION] system_var_name=value;
mysql> SET @@[session.]system_var_name=value;

三、服务器状态变量

查看状态变量(只读):用于保存mysqld运行中的统计数据的变量,不可更改

MariaDB [(none)]> SHOW GLOBAL STATUS;  #全局状态变量
MariaDB [(none)]> SHOW STATUS; #会话状态变量

参考官方文档:

四、SQL_MODE

​ sql_mode既是选项有是变量,作用对其设置可以完成一些约束检查的工作,可分别进行全局的设置或当前会话的设置。

MariaDB [(none)]> SHOW VARIABLES LIKE 'sql_mode';  #查看sql_mode变量,默认为空
  • NO_AUTO_CREATE_USER 禁止GRANT创建密码为空的用户
  • NO_AUTO_VALUE_ON_ZERO 在自增长的列中插入0或NULL将不会是下一个自增长值
  • NO_BACKSLASH_ESCAPES 反斜杠“\”作为普通字符而非转义字符
  • PAD_CHAR_TO_FULL_LENGTH 启用后,对于CHAR类型将不会截断空洞数据
  • PIPES_AS_CONCAT 将"||"视为连接操作符而非“或运算符”
  • TRADITIONAL:包括STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,是一个参数的集合
MariaDB [(none)]> SET  sql_mode='TRADITIONAL';

参考官方文档:https://mariadb.com/kb/en/library/sql-mode

MySQL服务器变量:MySQL系列之八的更多相关文章

  1. MySQL 服务器变量 数据操作DML-视图

    原文:MySQL 服务器变量 数据操作DML-视图 SQL语言的组成部分 常见分类: DDL:数据定义语言 DCL:数据控制语言,如授权 DML:数据操作语言 其它分类: 完整性定义语言: DDL的一 ...

  2. mysql服务器变量、缓存及索引

    服务器变量 注意:其中有些参数支持运行时修改,会立即生效:有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效:有些参数作用域是全局的,且不可改变:有些可以为每个用户提供单独(会话)的设置. ...

  3. 我的PHP之旅--数据库连接MySQL服务器,添加 删除 查询

    PHP连接MySQL服务器 连接MySQL的方法:mysql_connect(); 语法:resource $link = mysql_connect($hostname, $username, $p ...

  4. Mysql 声明变量

    Mysql 声明变量 Mysql中声明变量有两种方式 第一种: set @num=1; 或set @num:=1; //这里要使用变量来保存数据,直接使用@num变量 第二种: select @num ...

  5. 阿里云服务器无法远程其他的mysql服务器

    1.初始化root密码 进入mysql数据库 1 mysql>update user set password=PASSWORD('123456') where User='root'; 2.允 ...

  6. 通过navicat连接mysql服务器提示SQL Error (1130): Host '192.168.1.100' is not allowed to connect to this MySQL server

    新装一个mysql,尝试用通过navicat连接mysql服务器的时候提示: SQL Error (1130): Host '192.168.1.100' is not allowed to conn ...

  7. windows mysql服务器

    安装完mysql服务器后,需要启动服务器, 才可提供数据库存储服务.windows上如何启动和关闭mysql服务器呢? 1. 启动 进入mysql的安装目录,如D:\Program Files\mys ...

  8. 构建Mysql服务器

    <综合>构建Mysql服务器 构建MySQL服务器 数据库基本管理 MySQL 数据类型 表结构的调整 1 构建MySQL服务器 1.1 问题 本案例要求熟悉MySQL官方安装包的使用,快 ...

  9. mysql集群 MySQL Cluster

    <?php /* 郑重说明2015年6月11日16:28:14,目前为止MySQL Cluster 社区版不支持INNODB,商业版支持,但是授权价格20W左右,so看此文档之前,考虑下钱 My ...

随机推荐

  1. gcc 4.8.5安装

    在利用张乐博士的最大熵模型工具包(Maximum Entropy Modeling Toolkit for Python and C++)和条件随机场的经典工具包CRF++(CRF++: Yet An ...

  2. C++中函数重载

    C++中函数重载使用顶层const修饰参数和不使用const修饰参数效果是一样的,如果定义了这样的重载函数会报函数重定义的错误. 追其原因,C++中的函数传递方式有三种,一种是值传递,就是拷贝,一种是 ...

  3. Struts2 - action通配符映射

    一个 Web 应用可能有成百上千个 action 声明. 可以利用 struts 提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 通配符映射规则 –      若找到多个匹配, 没有通 ...

  4. Agc011_F Train Service Planning

    先放题面,再放LHX巨佬题解 接着就是%%%.$orz.Oro.Or2.Otz.OTL.sto.rzo.Jto$.On_.○| ̄|_啊 模拟赛里直接把这道题刚掉了 一题升天·爆踩全场 这题思维跨越度已 ...

  5. python密钥登录主机

    #!/usr/bin/python # -*- coding:utf-8 -*- ################################### # # 检查主机的损坏磁盘 # ####### ...

  6. Oracle 12c 多租户 CDB 与 PDB之 shared undo 与 Local undo 切换

    undo 在12C R1版本中只支持Global Shared Undo模式, 所有container共享一个UNDO表空间, 目前保留这种模式只是为了升级过渡, 在12C R2引入了PDB Loca ...

  7. bzoj 3158 千钧一发 —— 最小割

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3158 \( a[i] \) 是奇数则满足条件1,是偶数则显然满足条件2: 因为如果把两个奇数 ...

  8. Poj2656(水题)

    一.Description Jinjin is a junior school student. Besides the classes in school, Jinjin's mother also ...

  9. Jetson TX2火力全开

    Jetson Tegra系统的应用涵盖越来越广,相应用户对性能和功耗的要求也呈现多样化.为此NVIDIA提供一种新的命令行工具,可以方便地让用户配置CPU状态,以最大限度地提高不同场景下的性能和能耗. ...

  10. 能否自己也写一个类叫做java.lang.String?

    这次的随笔很逗吧~没错,我们的确也可以自己在创建一个包java.lang,然后在 相应的包下面创建一个对应的类String,但是在每次jre运行的时候,我们都回去加载原来默认的java.lang.St ...