MySQL | 您所在的位置:网站首页 › mysql中查看v_user › MySQL |
MySQL-基础篇-启动选项和系统变量
启动选项
命令行上使用选项
格式: --启动选项1[=值1] --启动选项2[=值2] ... --启动选项n[=值n] 复制代码比如: mysqld --default-storage-engine=MyISAM 复制代码简写: 长形式短形式含义--host-h主机名--user-u用户名--password-p密码--port-P端口--version-V版本信息注意区分大小写。 配置文件中使用选项配置文件的名称为:my.cnf,Windows 系统下通常为 my.ini。 配置文件的内容为: [server] (具体的启动选项...) [mysqld] (具体的启动选项...) [mysql_safe] (具体的启动选项...) [client] (具体的启动选项...) [mysql] (具体的启动选项...) [mysqladmin] (具体的启动选项...) 复制代码比如: [server] option1 option2 = value2 复制代码在配置文件中,不同的选项组([server])是给不同的程序使用的,如果选项组名称与程序名称相同,则组中的选项将专门用于该程序。比如 [mysqld] 和 [mysql] 组分别应用于 mysqld 服务器程序和 mysql 客户端程序。不过有两个选项组比较特别。 [server] 组下面的启动选项将作用于所有的服务器程序; [client] 组下面的启动选项将作用于所有的客户端程序。 程序名类别能读取的组mysqld启动服务器[mysqld]、[server]mysqld_safe启动服务器[mysqld]、[server]、[mysql_safe]mysql.server启动服务器[mysqld]、[server]、[mysql.server]mysql启动客户端[mysql]、[client]mysqladmin启动客户端[mysqladmin]、[client]mysqldump启动客户端[mysqldump]、[client]特定 MySQL 版本的专用选项组:比如对于 [mysqld] 组来说,可以定义一个 [mysqld-5.7] 的选项组。 配置文件的优先级:以最后读取的配置文件为准。 同一个配置文件中多个组的优先级:以最后一个出现的组中的启动选项为准。 指定配置文件启动:mysqld --defaults-file=/temp/myconfig.txt。 default-extra-file:指定额外的配置文件路径,也就是说固定路径下的配置文件也会被搜索。 如果同一个启动选项既在命令行中出现,又在配置文件中出现,那么将以命令行中的启动选项为准。 系统变量MySQL 服务器程序在运行过程中会使用到许多影响程序行为的变量,他们称之为系统变量。每个系统变量都有一个默认值,我们可以使用命令行或者配置文件中的选项,在启动服务器时改变一些系统变量的值。大多数系统变量的值也可以在程序运行过程中修改,而无需停止并重新启动服务器。 查看系统变量语法: SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式]; 复制代码比如: SHOW VARIABLES LIKE 'default_storage_engine'; +------------------------+--------+ | Variable_name | Value | +------------------------+--------+ | default_storage_engine | InnoDB | +------------------------+--------+ SHOW VARIABLES LIKE 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 151 | +-----------------+-------+ SHOW VARIABLES LIKE 'default%'; +-------------------------------+-----------------------+ | Variable_name | Value | +-------------------------------+-----------------------+ | default_authentication_plugin | mysql_native_password | | default_password_lifetime | 0 | | default_storage_engine | InnoDB | | default_tmp_storage_engine | InnoDB | | default_week_format | 0 | +-------------------------------+-----------------------+ 复制代码更严谨的说,MySQL 服务器实际上是允许 max_connections + 1 个客户端连接,额外的一个是给超级用户准备的。 设置系统变量 通过启动选项设置命令行; mysqld --default-storage-engine=MyISAM --max-connections=10 复制代码配置文件。 [server] default-storage-engine=MyISAM max-connections=10 复制代码 服务器程序运行过程中来设置系统变量的作用范围分为下面两种: GLOBAL(全局变量):影响服务器的整体操作。 SESSION(会话变量):影响某个客户端连接的操作。语法: SET [GLOBAL|SESSION] 系统变量名 = 值; SET [@@(GLOBAL|SESSION).]系统变量名 = 值; 复制代码省略作用范围,默认是 SESSION。 状态变量为了更好的了解服务器程序的运行情况,MySQL 服务器程序中维护了好多关于程序运行状态的变量,它们被称为状态变量。状态变量也有 GLOBAL 和 SESSION 两个作用范围。如果不写修饰符,则与使用 SESSION 修饰的效果一样。 语法: SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式]; 复制代码比如: SHOW STATUS LIKE 'thread%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 7 | | Threads_connected | 3 | | Threads_created | 370 | | Threads_running | 1 | +-------------------+-------+ 复制代码 |
CopyRight 2018-2019 实验室设备网 版权所有 |