Loading

MySql笔记-基础篇-配置参数

1.参数的种类

无论是mysql还是其他的软件,都会有各种参数,通过参数控制程序的行为。参数的种类大致分为配置文件中的配置项,程序中默认的参数,用于启动软件时指定的参数。
mysql中支持使用配置文件
image.png
也支持命令行中指定
image.png
更支持在程序访问过程中配置
image.png

2.命令行

命令行中的参数可以使用长形式或短形式,用来指定一些临时配置,比如第一次启动客户端时指定host
image.png
当启动第二个客户端时必须重新指定host参数才可生效

3.配置文件

在配置文件中[]代表了一个组,每个组指定了不同的配置项,各个可执行文件通过读取对应组中的配置项重设默认配置,比如mysql.exe启动时会读取[mysql]和[client]组,具体的配置项和所有组可在官方文档中查询

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
# 设置mysql的安装目录
basedir = D:\mysql5.7
# 设置mysql数据库的数据的存放目录
datadir = D:\mysql5.7\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎
# 为事务存储引擎启用严格模式,也可能为非事务存储引擎启用严格模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 开启查询缓存
explicit_defaults_for_timestamp=true

配置文件相比命令行的好处是它可以永久保存,而命令行只适用当前会话
mysql会在多个目录下搜索配置文件,如果搜到多个,则以最后一个中的配置为准
一个可执行文件可能会读取某个配置文件中的多个组,而组中的内容有可能会重复,此时以最后读取的组为准

4.系统选项

mysql中系统选项的数量特别多,可以通过再启动时设置其默认值
image.png
这些系统参数主要分为两类,全局的和当前会话的,全局适用于全部客户端,当前会话适用于当前客户端,如果存在重复则以当前会话为准
在客户端不指定级别设置的默认都是当前会话级别
image.png
设置了左边的变量后并没有影响到右边会话的变量
image.png
但是当设置为GLOBAL级别的变量时会影响到设置之后重新登录的会话

5.代码中的参数

在mysql的源码中存在一些不可修改的变量,我们可以使用客户端查询,但是并不能修改
通过show status方式查看此类变量
image.png
可以看到当前mysql中共有357个变量

posted @ 2021-05-19 22:03  luffysk  阅读(155)  评论(0)    收藏  举报