MySQL的调控按钮
导读:
之前只会按默认配置使用 MySQL,不知道有什么配置选项?怎么使用?
通过这篇文章学习到:和其他应用一样,MySQL 也提供了大量丰富的选项供使用者根据实际情况进行配置。这些配置选项、系统变量等无需统统记住,简单了解了解、混个眼熟耳熟就好,实际用到的时候再查、再用就好。
一、启动选项:
1、命令行设置
常用选项列举:
- 服务器:
- mysqld --skip_networking
- mysqld --default-storage-engine=MyISAM
- mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"
- mysqld --defaults-extra-file="C:\temp\my.ini"
- mysqld -P 3307
- 客户端:
- mysqld -hlocalhost -u -p
2、配置文件设置
配置文件中的启动选项被划分为若干个组,每个组有一个组名,用中括号[]扩起来。
3、说明:
(1) Windows 如何查看 MySQL 配置文件的位置
以本地MySQL服务 MySQL57 为例,通过服务 - MySQL57 - 属性,可看到该服务的可执行文件、配置文件的地址。
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"
(2) 命令行和配置文件设置启动选项的区别:
程序每次启动时都是从配置文件中加载启动选项,而命令行设置启动项只在当次启动有效(Temp),并且同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准。
因此命令行设置启动选项适合偶尔改动的选项,而对于无需频繁更改的选项配置在文件中将更加方便。
(3) defaults-extra-file 和 defaults-file 的区别:
使用 defaults-extra-file 可以指定额外的配置文件搜索路径,也就是说那些固定的配置文件路径也会被搜索。
二、系统变量
1、根据作用范围,将系统变量分为全局变量、会话变量
- GLOBAL:全局变量,影响服务器的整体操作。
- SESSION:会话变量,影响某个客户端连接的操作。(注:SESSION有个别名叫LOCAL)
2、启动选项和系统变量的区别
启动选项是在程序启动时我们程序员传递的一些参数,而系统变量是影响服务器程序运行行为的变量,它们之间的关系如下:
- 大部分的系统变量都可以被当作启动选项传入。
- 有些系统变量是在程序运行过程中自动生成的,是不可以当作启动选项来设置,比如auto_increment_offset、character_set_client啥的。
- 有些启动选项也不是系统变量,比如defaults-file。
三、状态变量
为了让我们更好的了解服务器程序的运行情况,MySQL服务器程序中维护了好多关于程序运行状态的变量,它们被称为状态变量。