一:查看服务所有变量

  MySQL服务器维护许多配置其操作的系统变量。每个系统变量都有一个默认值。可以使用命令行或选项文件中的选项在服务器启动时设置系统变量。其中大多数都可以在运行时使用动态更改 SET 语句,这使您可以修改服务器的操作,而无需停止并重新启动它。您还可以在表达式中使用系统变量值。

  mysqld --verbose --help

[root@qywxdb /]# mysqld --verbose --help
mysqld Ver 5.7.22 for Linux on x86_64 (MySQL Community Server (GPL))
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Starts the MySQL database server. Usage: mysqld [OPTIONS] Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
The following groups are read: mysqld server mysqld-5.7
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file,
except for login file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
--defaults-group-suffix=#
Also read groups with concat(group, suffix)
--login-path=# Read this path from the login file.

备注:该命令可查看服务器版本,和读取配置文件顺序

二:设置变量

  SET variable = expr [, variable = expr] ...

                variable: { user_var_name | param_name | local_var_name | {GLOBAL | @@GLOBAL.} system_var_name | [SESSION | @@SESSION. | @@] system_var_name }

有些情况时我们需要修改服务器变量的默认值,例如我们修改sql_mode的值(已支持不严格的group by),此时我们可以使用set语句来修改系统变量。同时我们可以使用set定义一些其他的变量(用户变量,该变量是session级别的)。

2.1 设置全局变量

  SET GLOBAL max_connections = 1000;

  SET @@GLOBAL.max_connections = 1000;

2.2  设置session变量

SET SESSION sql_mode = 'TRADITIONAL';

   SET LOCAL sql_mode = 'TRADITIONAL';

SET @@SESSION.sql_mode = 'TRADITIONAL';

SET @@LOCAL.sql_mode = 'TRADITIONAL';

SET @@sql_mode = 'TRADITIONAL';

SET sql_mode = 'TRADITIONAL';

2.3 定义新变量

  mysql> set @name='woshiwo'; //新增环境变量

  mysql> select @name;       //查询定义的环境变量
  | @name |
  | woshiwo |

三 :查看变量(show)

  SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern' | WHERE expr]

*  服务器变量维护在 GLOBAL_VARIABLES 与 SESSION_VARIABLES 表。//不可直接查看

*  如果不存在修饰符,则默认为 SESSION

*  使用GLOBAL修饰符,语句显示全局系统变量值。这些是用于初始化与MySQL的新连接的相应会话变量的值。如果变量没有全局值,则不显示任何值。

*  使用SESSION修饰符,语句将显示对当前连接有效的系统变量值。如果变量没有会话值,则显示全局值。LOCAL是...的同义词SESSION

3.1 通过like查询

SHOW VARIABLES LIKE 'max_join_size';

 SHOW VARIABLES LIKE '%size%';   //模糊查询

SHOW SESSION VARIABLES LIKE 'max_join_size';

SHOW GLOBAL VARIABLES LIKE '%size%';

3.2 通过where 查询

show variables where Variable_name like 'log%' and value='ON';

  

  

MYSQL服务器系统变量的更多相关文章

  1. Mysql 系统参数 系统变量 状态变量

    1.系统参数,也就是命令行选项,执行命令的时候,后面跟的参数,系统参数很多,不可能每次执行程序的时候,指定这些参数.这些参数写在配置文件(Windows下是my.ini,Linux是my.cnf),执 ...

  2. MySQL服务器变量:MySQL系列之八

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

  3. 【Mysql】了解Mysql中的启动参数和系统变量

    一.启动参数 在程序启动时指定的设置项也称之为启动选项(startup options),这些选项控制着程序启动后的行为. 1)在命令行上使用选项 启动服务器程序的命令行后边指定启动选项的通用格式就是 ...

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

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

  5. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  6. MySQL服务器的线程数查看方法

    mysql重启命令:/etc/init.d/mysql restart MySQL服务器的线程数需要在一个合理的范围之内,这样才能保证MySQL服务器健康平稳地运行.Threads_created表示 ...

  7. Mysql服务器SQL模式 (官方精译)

    MySQL服务器可以在不同的SQL模式下运行,并且可以根据sql_mode系统变量的值对不同的客户端应用不同的模式.DBA可以设置全局SQL模式以匹配站点服务器操作需求,并且每个应用程序可以将其会话S ...

  8. MySQL服务器线程数的查看方法详解

    本文实例讲述了MySQL服务器线程数的查看方法.分享给大家供大家参考,具体如下: mysql重启命令: ? 1 /etc/init.d/mysql restart MySQL服务器的线程数需要在一个合 ...

  9. MySQL权限系统(二). MySQL提供的特权 Privileges Provided by MySQL

    MySQL provides privileges that apply in different contexts and at different levels of operation: Adm ...

随机推荐

  1. 201621123002《Java程序设计》第十周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 结合题集题目7-1回答 1.1 自己以前编写的代码中经常出现 ...

  2. python第十九天 关于方法,函数

    1.先从简单的函数说起 from inspect import isfunction 导入判断是否是function def foo():pass 定义了一个函数 print(foo) <fun ...

  3. dotNet程序员的Java爬坑之旅(一)

    仔细想了下还是转java吧,因为后期不管是留在北京也好还是回老家也好,java的工作都会好找一点.现在的工作主要还是写.net,目标是下一次离职的时候可以找到一份全职的java工作,我一直都觉得实践才 ...

  4. 【转】一个 Linux 上分析死锁的简单方法

    简介 死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这 ...

  5. 初识spark的MLP模型

    初识Spark的MLP模型 1. MLP介绍 Multi-layer Perceptron(MLP),即多层感知器,是一个前馈式的.具有监督的人工神经网络结构.通过多层感知器可包含多个隐藏层,实现对非 ...

  6. C# 互通操作 (一)

    回顾一下自己学习的内容然后从互通的基础案例开始写起. 这次实现一个很简单的互通demo,就是 在unity里  在c#里调用windows窗体的MessageBox 消息提示 public class ...

  7. vue中使用axios

    1.结合vue-axios使用 vue-axios是按照vue插件的方式去写的,那么结合vue-axios就可以使用Vue.use()这个方法import axios from 'axios' imp ...

  8. 第九周助教工作总结——NWNU李泓毅

    1.助教博客链接: https://www.cnblogs.com/NWNU-LHY/ 2.作业要求博客链接: https://www.cnblogs.com/nwnu-daizh/p/1072688 ...

  9. C语言内存四区的学习总结(三)---- 栈区

    接上篇内存四区的堆区的总结,下面做一些栈区的相关总结. 一.栈区的分析: 就下面测试程序 #include "stdio.h" #include "string.h&qu ...

  10. 【js jQuery】map集合 循环迭代取值---以及 map、json对象、list、array循环迭代的方法和区别

    后台给前台传来一个map @ResponseBody @RequestMapping(value = "getSys") public Map<Long,String> ...