第三节: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这个参数用来配置从服务器的更新是否写入二进制日志,这个选项默认是不打开的,但是,如 ...
随机推荐
- 永久禁用Win10驱动程序强制签名
1.在开始按钮点击右键,选择“命令提示符(管理员)” 2.执行以下命令(复制后,在命令提示符中单击鼠标右键即可完成粘贴,然后按回车键执行): bcdedit.exe /set nointegrityc ...
- python内建模块——collections模块
在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和Ord ...
- hibernate插入数据测试无异常,但数据库没有数据
解决方法: spring test测试默认会将事务回滚,如果想阻止spring transactional回滚,在test方法上加注解@Rollback(false)即可. Hibernate hql ...
- 31 October
https://www.cnblogs.com/RabbitHu/p/51nod1353.html 树形 DP 求所有联通块 \(\ge K\) 的方案数. 切断:\(\forall i\in\lef ...
- vue里面的this指向
this.$http.jsonp(api).then(function(response){ console.log(response); console.log(this); this.list=r ...
- android7.0后对于detected problems with app native libraries提示框显示
log信息: 03-27 09:08:25.887 397 400 W linker : /data/app/com.guagua.qiqi-1/lib/arm/libMedia.so ha ...
- fiddler抓取火狐浏览器上https协议请求
前言:现在很多网站采用https协议,当打开fiddler时.浏览https协议的网站会提示不安全,若使用fiddler抓取https协议的请求,则需要向浏览器导入证书,才能抓取https协议的请求, ...
- Vagrant 入门 - 清理(teardown)
原文地址 我们现在有一个功能齐全的虚拟机,可以用于基本 Web 开发.但如果现在需要更换设备,或者在另一个项目上工作,如何清理我们的开发环境? 借助 Vagrant,可以暂停(suspend),停止( ...
- DEDE网站地图优化技巧
DEDE网站地图优化技巧-把网站地图生成在系统根目录,利于搜索引擎收录相信恨多用DEDECMS做站的朋友,为避免将data目录内的东西随便外泄,在robots中将data目录屏蔽了,但是DEDE默认的 ...
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...