MySQL 的启动选项和系统变量实例详解
MySQL的配置信息可以通过两种方式实现,一种是命令行形式,在启动MySQL服务时后边带上相关配置参数,此种方式会在MySQL重启后失效。另外一种是通过写入配置文件,如my.cnf,启动或者重启MySQL服务都会生效,此种方式是永久生效。
启动选项
命令行
在MySQL服务命令启动时,带上配置参数启动方式可参考这篇:MySQL 的启动和连接方式
命令格式:启动命令 --启动选项1[=值1] --启动选项2[=值2] ... --启动选项n[=值n]
1. 在配置文件中指定的启动选项不允许加--前缀,并且每行只指定一个选项,而且=周围可以有空白字符
2. 如果我们在多个配置文件中设置了相同的启动选项,那以最后一个配置文件中的为准
3. 如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准
4. mysqld --defaults-file=/tmp/myconfig.txt
//在程序启动的时候将只在/tmp/myconfig.txt路径下搜索配置文件。如果文件不存在或无法访问,则会发生错误
配置组
配置文件一共可以以下这些组别:mysqld、mysqld_safe、mysql.server、mysql、mysqladmin、mysqldump,可以针对不同组别进行配置
内容格式
[server](具体的启动选项...)[mysqld](具体的启动选项...)[mysqld_safe](具体的启动选项...)[client](具体的启动选项...)[mysql](具体的启动选项...)[mysqladmin](具体的启动选项...)
系统变量
MySQL服务器程序运行过程中会用到许多影响程序行为的变量,它们被称为MySQL系统变量。
例如:
1. 允许同时连入的客户端数量用系统变量max_connections表示
2. 表的默认存储引擎用系统变量default_storage_engine表示
3. 查询缓存的大小用系统变量query_cache_size表示
......
查看
格式:SHOW VARIABLES [LIKE 匹配的模式];
设置
通过启动项设置
命令行设置
mysqld --default-storage-engine=MyISAM --max-connections=10
服务器程序运行过程中设置
系统变量比较牛逼的一点就是,对于大部分系统变量来说,它们的值可以在服务器程序运行过程中进行动态修改而无需停止并重启服务器不过系统变量有全局和当前会话作用域之分
作用域
GLOBAL:全局变量,影响服务器的整体操作。SESSION:会话变量,影响某个客户端连接的操作。(别名叫LOCAL)
有些系统变量是只读的,并不能设置值
比方说version,表示当前MySQL的版本,我们客户端是不能设置它的值的,只能在SHOW VARIABLES语句里查看。
启动选项与系统变量的关系
启动选项是在程序启动时我们程序员传递的一些参数,而系统变量是影响服务器程序运行行为的变量
* 大部分的系统变量都可以被当作启动选项传入
* 有些系统变量是在程序运行过程中自动生成的,是不可以当作启动选项来设置,比如auto_increment_offset、character_set_client啥的
* 有些启动选项也不是系统变量,比如defaults-file
状态变量
为了让我们更好的了解服务器程序的运行情况,MySQL服务器程序中维护了好多关于程序运行状态的变量,它们被称为状态变量。比方说Threads_connected表示当前有多少客户端与服务器建立了连接,Handler_update表示已经更新了多少行记录
由于状态变量是用来显示服务器程序运行状况的,所以它们的值只能由服务器程序自己来设置,我们程序员是不能设置的
查看
格式:SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];例如:SHOW STATUS LIKE 'thread%';
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
更多相关文章
- MySQL系列多表连接查询92及99语法示例详解教程
- ES6 变量声明,箭头函数,数组方法,解构赋值,JSON,类与继承,模块化练习
- Android(安卓)- Manifest 文件 详解
- [Android(安卓)NDK]Android(安卓)JNI开发例子 ---3 在JNI中实现o
- Android的Handler机制详解3_Looper.looper()不会卡死主线程
- Android之adb环境变量配置
- Selector、shape详解(一)
- android 目录结构,adb环境变量配置
- 链接器解析多重定义的全局变量