第三节:MySQL的调控按钮——启动选项和系统变量
一、命令行上使用启动选项
启动选项的通用格式 --启动选项1[=值1] --启动选项2[=值2] ... --启动选项n[=值n]
禁止TCP/IP链接 略
修改MySQL服务的默认存储引擎 mysqld --default-storage-engine=MyISAM 这里没有测试
可以在my.cnf文件中指定为 default-storage-engine=MyISAM 需要重启MySQL
客户端常用形式的选项
--host 简写 -h 表示 主机名(ip)
--user 简写 -u 表示 用户名
--password 简写 -p 表示 密码
--port 简写 -P 表示 端口
--version 简写 -v 表示 版本信息
注意:
1.选项名和选项值之间可以没有间隙,或者用空白字符隔开
2.-password特殊-p和密码值之间不能有空白字符,--port的简写-P P是大写的。
二、配置文件中使用选项
推荐使用配置文件来设置启动选项
Windows操作系统路径,安装下面这些路径来寻找
%WINDIR%\my.ini, %WINDIR%\my.cnf 注:%WINDIR%表示Windows所在目录,正常是C:\Windows,可使用echo %WINDIR%输出路径。
C:\my.ini, C:\my.cnf
BASEDIR\my.ini, BASEDIR\my.cnf 注:BASEDIR指的是MySQL安装目录的路径
其他 略
类Unix操作系统中的配置文件
/etc/my.cnf 注:我在centos7中就是这个路径下配置
/etc/mysql/my.cnf
$MYSQL_HOME/my.cnf 注:$MYSQL_HOME是环境变量
其他 略
只测试过centos7下面是/etc/my.cnf
配置文件的内容(大开眼界)
[server]
(具体的启动选项...)
[mysqld]
(具体的启动选项...)
[mysqld_safe]
(具体的启动选项...)
[client]
(具体的启动选项...)
[mysql]
(具体的启动选项...)
[mysqladmin]
(具体的启动选项...)
有些的参数只能放在不同的组中
案例:[client]组放置了'default-storage-engine=MyISAM' 登录时候会报错 mysql: [ERROR] unknown variable 'default-storage-engine=MyISAM'
具体的启动选项:不允许加--前缀,并且每行只指定一个选项,而且=周围可以有空白字符(命令行中选项名和选项值之间不允许有空白字符)
两个选项组比较特别
[server]组下边的启动选项将作用与所有的服务器程序。
[client]组下边的启动选项将作用于所有的客户端程序。
常用命令对应能读取的组
启动命令 类别 能读取的组
mysqld 启动服务器 [mysqld]、[server]
mysqld_safe 启动服务器 [mysqld]、[server]、[mysqld_safe]
mysql.server 启动服务器 [mysqld]、[server]、[mysql.server]
mysql 启动客户端 [mysql]、[client]
mysqladmin 启动客户端 [mysqladmin]、[client]
mysqldump 启动客户端 [mysqldump]、[client]
特定MySQL版本的专用选项组
选项组的名称后加上特定的MySQL版本号。
案例:指定5.7的mysql程序才可以用 [mysqld-5.7]
测试:没有自己测试过,用上的时候再测试。
配置文件的优先级
多个配置文件中设置了相同的启动选项,最后一个配置文件为准。
同一个配置文件中多个组的优先级,以最后一个配置为准(写在下面的配置)
命令行和配置文件中启动选项的区别
1.大部分命令行的配置都可以放到配置文件中
2.如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准。
三、系统变量
查看系统变量 show variables [like 匹配的模式] 注:直接用show variables表示所有输出。
案例:
查看当前的默认引擎:SHOW VARIABLES LIKE 'default_storage_engine';
查看当前最大连接数:SHOW VARIABLES like 'max_connections';
模糊查询default开头:show variables like 'default%'
设置系统变量
通过启动选项设置,前面学习了
服务器程序运行过程中设置
大部分系统变量可以通过服务器运行中设置,无须重启服务器。
设置不同作用范围的系统变量
GLOBAL:后面用到学习。
SESSION:后面用到学习。
注意事项:
不是所有都具有GLOBAL和SESSION的作用范围。
GLOBAL作用范围,比方说max_connections,表示服务器程序支持同时最多有多少个客户端程序进行连接。
SESSION作用范围,比如insert_id,表示在对某个包含AUTO_INCREMENT列的表进行插入时,该列初始的值。
有些系统变量只读的,不能设置值
如:MySQL当前版本
启动选项和系统变量的区别
启动选项是程序启动时程序员传递的一些参数,系统变量是影响服务器程序运行行为的变量。
关系:
大部分系统变量都可以当做启动选项传入。
有些系统变量是程序运行过程中自动生成的,不能当做启动选项传入。如:Auto_increment_offset。
有些启动选项不是系统变量,如:default-file
状态变量
值只能由服务器程序自己设定,程序员不能设置。
状态变量也有GLOBAL和SESSION两个作用范围,不写默认是SESSION
查看 show [GLOBAL|SESSION] status [like 匹配的模式];
案例:查询thread开头的session作用范围的状态变量show status like 'thread%'
脑图地址:方便有需要的同学高清看
http://naotu.baidu.com/file/a100e406fe26133c8b5c16923357f3ed?token=8aec9e6d7f4f7830
第三节:MySQL的调控按钮——启动选项和系统变量的更多相关文章
- MySQL的启动选项和系统变量该如何配置?
MySQL的配置信息可以通过两种方式实现,一种是命令行形式,在启动MySQL服务时后边带上相关配置参数,此种方式会在MySQL重启后失效.另外一种是通过写入配置文件,如my.cnf,启动或者重启MyS ...
- 【Mysql】了解Mysql中的启动参数和系统变量
一.启动参数 在程序启动时指定的设置项也称之为启动选项(startup options),这些选项控制着程序启动后的行为. 1)在命令行上使用选项 启动服务器程序的命令行后边指定启动选项的通用格式就是 ...
- 深入理解mysql-进阶知识点,启动项、系统变量、字符集介绍!
mysql数据库是当前应用最为的广泛的数据库,在实际工作中也经常接触到.真正用好mysql也不仅仅是会写sql就行,更重要的是真正理解其内部的工作原理.本文先从宏观角度介绍一些mysql相关的知识点, ...
- MySQL基础知识:启动管理和账号管理
整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...
- mysql show variables系统变量详解
mysql系统变量详解 mysqld服务器维护两种变量.全局变量影响服务器的全局操作.会话变量影响具体客户端连接相关操作. 服务器启动时,将所有全局变量初始化为默认值.可以在选项文件或命令行中指定的选 ...
- MYSQL服务器系统变量
一:查看服务所有变量 MySQL服务器维护许多配置其操作的系统变量.每个系统变量都有一个默认值.可以使用命令行或选项文件中的选项在服务器启动时设置系统变量.其中大多数都可以在运行时使用动态更改 SET ...
- mysql系统变量查询
mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整 ...
- mysql 系统变量和session变量
mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整 ...
- MySQL主从复制几个重要的启动选项
MySQL主从复制几个重要的启动选项 (1) log-slave-updates log-slave-updates这个参数用来配置从服务器的更新是否写入二进制日志,这个选项默认是不打开的,但是,如 ...
随机推荐
- CodeChef Max-digit Tree(动态规划)
传送门. 题解: 最主要的问题是如何判断一个数是否合法,这就需要发现性质了. 这个状态划分还是不太容易想到, 每次加的数\(∈[0,k)\),也就是个位一直在变变变,更高的位每次都是加一,这启发我们状 ...
- kibana使用日志时间进行排序
kibana默认的是按照客户端的采集时间(@timestamp)进行排序,这往往不是我们所需要的,我们需要的是对日志实际时间进行排序,要解决这个问题,有很多种方法,可以在elasticsearch建立 ...
- AGC040
AGC040 A 模拟. B 因为顺序无关紧要,所以可以先把区间按右端点排序方便处理. 设第一个区间在\(A\)集合,考虑枚举第一个在\(B\)集合的区间\(i\),这样两个集合的右端点\(\min\ ...
- redux简单使用
在前面的随便中有简单的使用过redux和react-redux,但是感觉写在一起,总是理不清楚,后面看了技术胖老师关于redux的视频后,感觉自己又有了新的理解,在这里简单记录一下. 项目准备 首先安 ...
- CF 1182F Maximum Sine——根号算法
题目:http://codeforces.com/contest/1182/problem/F 注意有绝对值. 那么就是 k*p 对 q 取模,找最接近 \(\frac{q}{2}\) 的结果. 也就 ...
- vue 3.0 vue-cli项目搭建要点
一.使用vue-cli搭建项目(可使用vue ui图形化界面搭建项目,配置dist时,将名称设为项目名称) 二.项目搭建后 1.配置vue.config.js // 翻阅文档https://cli.v ...
- php mysql-pdo,fpm,csrf-forward-money,php7.1 in centos7
centos7--php7.1http://zixuephp.net/article-207.htmlhttps://www.cnblogs.com/liansng/p/7680930.html ph ...
- win10下VMware15运行ubuntu18.04无法和主机之间复制粘贴问题
可以运行以下命令行: sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo apt-get ins ...
- centos 问题解决记录
在centos上用pip安装包,显示成功安装,但是用pip list去看发现实际上并没有安装? 安装用的是pip install xxx 是不行的,需要用sudo pip install xxx就可以 ...
- php json_encode的问题
问题:跨域调用信息,返回json格式数据,返回的json数据中会多出空格,导致再用json_decode()编码的时候,页面显示空白,编码失败.解决方法:在页面中加入ob_end_clean();解决 ...