MySQL 8 服务器选项配置

查看服务器使用的默认命令选项和系统变量:

mysqld --help --verbose

 

查看服务器当前运行时使用的系统变量和状态变量:

mysql> SHOW VARIABLES;

mysql> SHOW STATUS;

 

通过mysqladmin命令查看系统变量和服务器变量的当前值:

shell> mysqladmin variables

shell> mysqladmin extended-status

 

扫描二维码关注公众号,回复: 9168784 查看本文章

MySQL 8.0.16 版本添加了验证服务器配置的选项:--validate-config

这个功能可以在不正常启动MySQL服务器的前提下,验证服务器配置是否正确

--validate-config 可以和 --log-error-verbosity 一起使用

--validate-config检测到错误后就会立即停止检查,所以如果存在多个错误的情况下,重复执行检查操作,比如:

shell> mysqld --defaults-file=/etc/my.cnf --read_only=s --validate-config --log_error_verbosity=2

注:由于 --validate-config 选项是在服务器没有正常启动的情况下执行的配置检查,所以配置检查不会初始化存储引擎、其他插件、组件等

--validate-config 选项在MySQL服务器升级操作中比较有用,可以通过该选项验证之前的配置在升级后是否废弃

系统变量的使用:

每个系统变量都有一个默认值

在服务器启动时,系统变量可以在命令行或者选项文件中设置

系统变量来源:内置系统变量、插件提供的系统变量、组件提供的系统变量

系统变量名称:在命令行和选项文件中下划线和中划线是等价的;但是在系统运行时,引用系统变量名称时必须使用下划线

设置全局系统变量的几种方式,比如:

mysql> set global max_connections=100;

mysql> set @@global.max_connections=100;

mysql> set persist max_connections=100;

mysql> set persist_only max_connections=100;

注:使用persist持久化系统变量是在MySQL 8.0.14添加的,默认会在数据目录下生成一个名为 mysqld-auto.cnf 的文件

persist 与 persist_only 区别:

persist 会在设置当前全局变量的前提下,将其保存到 mysqld-auto.cnf 文件中

persist_only 只会将其保存到 mysqld-auto.cnf 文件中,而不会设置当前全局变量,这对只读全局变量有用

设置会话系统变量的几种形式,比如:

mysql> set sql_mode = 'TRADITIONAL';

mysql> set session sql_mode = 'TRADITIONAL';

mysql> set @@session.sql_mode = 'TRADITIONAL';

 

猜你喜欢

转载自www.cnblogs.com/xinzhizhu/p/12310872.html