【mysql知识点】查看和修改系统参数

如何查看和修改系统参数?

在MySQL里,参数也可以叫变量(Variables),一般配置文件为:/etc/my.cnf。当MySQL实例启动时,MySQL会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等设置。默认情况下,MySQL实例会按照一定的次序去读取所有参数文件,可以通过命令“mysql–help|grep my.cnf”来查找这些参数文件的位置。 在Linux下的次序为:/etc/my.cnf->/etc/mysql/my.cnf->/usr/local/mysql/etc/my.cnf-> ~/.my.cnf;在Windows下的次序为:C:\WINDOWS\my.ini->C:\WINDOWS\my.cnf->C:\m\my.cnf->%MySQL安装目录%\my.ini->%MySQL安装目录%\my.cnf。如果这几个配置文件中都有同一个参数,那么MySQL数据库会以读取到的最后一个配置文件中的参数为准。在Linux环境下,配置文件一般为/etc/my.cnf。在数据库启动的时候可以加上从指定参数文件,如下所示:
mysqld_safe --default-file=/etc/my.cnf &
MySQL的变量可以分为系统变量和状态变量。MySQL没有类似于Oracle的隐含参数,也不需要隐含参数来设置。下面分别讲解。
在这里插入图片描述

1.系统变量

配置MySQL服务器的运行环境。系统变量按其作用域的不同可以分为两种:
①全局(GLOBAL)级:对整个MySQL服务器有效,但是在本次连接中并不生效,而对于新的连接则生效;
②会话(SESSION或LOCAL)级:只影响当前会话,只在本次连接中生效。有些变量同时拥有以上两个级别,MySQL将在建立连接时用全局级变量初始化会话级变量,但一旦连接建立之后,全局级变量的改变不会影响到会话级变量。可以用show variables查看系统变量的值,如下所示: 可以通过show vairables或SELECT语句可以查看系统变量的值:
show variables like ‘log%’;
show variables where Variable_name like ‘log%’ and value=‘ON’;

在MySQL服务器启动时,可以通过以下两种方法设置系统变量的值:
1)命令行参数,例如:mysqld–max_connections=200。 2)选项文件(my.cnf)。在MySQL服务器启动后,如果需要修改系统变量的值,那么可以通过SET语句

2.状态变量

状态变量用于监控MySQL服务器的运行状态,可以用show status查看。状态变量和系统变量类似,也分为全局级和会话级,show status也支持like匹配查询,不同之处在于状态变量只能由MySQL服务器本身设置和修改,对于用户来说是只读的,不可以通过SET语句设置和修改它们。另外,和系统变量类似,也可以查询通过表的方式来查询状态变量的值,MySQL 5.6查询information_schema.global_status和information_schema.session_status;MySQL 5.7查询performance_schema.global_status和performance_schema.session_status。

猜你喜欢

转载自blog.csdn.net/qq_41358574/article/details/120539030
今日推荐