指定选项的方式
1、在mysql后面的命令行加上选项
-u连接MySQL服务端用户名称
-p连接MySQL服务器密码
-V查看版本号
注:第一个不带-的名称会被解析成要访问的数据库
-e 执行SQL语句之后退出
2、在mysql之后指定配置文件路径,启动时读取配置文件选项
选项文件(配置文件)
客户端配置文件
服务端配置文件
mysql.cnf是最终配置文件
虽然将客户端和服务端配置文件做了区别,但是实际配置时,不会分别在对应文件中配置,而是在默认配置文件中进行配置
Windows配置文件后缀为.ini或者.cnf
Linux配置文件后缀为.cnf
如果两个配置文件中出现了相同配置项,那么优先级高的就会覆盖优先级低的
选项文件语法
1、注释行以 #开始
2、[group]设置选项程序或者组的名称,不区分大小写
例如,[mysql]和[mysqld]组分别适用与mysql客户端程序和mysqld服务端程序
[client],所有客户端程序都会读取这个组的选项,这个组可以指定所有适用于客户端的程序的通用选项,用户名或者密码(但是密码一般不会放到配置文件中,存在安全问题)
3、opt_name=value
选项名对应值
选项文件配置
选项文件中
!include 指令用来包含其他文件
!includedir指令 用来搜索指定目录中的其他选项文件,但是指定目录中文件读取顺序是不确定的
配置成功之后,在命令行直接输入mysql,就会先读取配置文件,然后直接就连接成功了
注意:
1、在Windows中,要确保配置文件最后一行要加一个换行符,否则该行被忽略
2、修改配置文件之前一定要先备份,如果出现错误了就可以恢复之前版本
mysql客户端命令
;或\g结束表示以表格形式输出结果
\G结束表示以行形式输出结果
help \h
在当前模式下,mysql还有⼀组⾃⼰的命令,可以输⼊ help or \h 查看令列表
tee \T
把所有执行结果保存到一个指定文件
从.sql文件执行SQL语句
1、使用source命令执行.sql文件的SQL语句
\. +绝对路径
/root/test_db.sql该路径下.sql文件中的SQL指令就有创建数据库
执行source命令
2、使用mysql客户端导入
mysql dp_name< test_file 在指定数据库执行SQL语句,数据库需要提前建好
help contents
使⽤help contents命令可以查看关于MySQL数据库使⽤的具体帮助,包括⽤⼾管理、SQL语法、数据类型、组件等相关内容列表
工具包中其他指令
mysqlcheck
MySQL :: MySQL 8.4 Reference Manual :: 6.5.3 mysqlcheck — A Table Maintenance Program
mysqlcheck客户端用于执行表维护,可以对表进行:分析、检查、优化或修复操作。
1、analyze
2、check
3、optimize
一般不建议经常使用优化表操作
innoDB优化操作是使用重建和分析表操作来代替
4、repair
innoDB不支持修复操作,如果要使用修复操作就需要把存储引擎换成MyIsam
mysqlcheck默认执行的是check,如果复制原来的mysqlcheck,并进行重命名操作,就可以修改默认操作
注意:
1、并不是所有存储引擎都可以使用上述四种操作
2、使用mysqlcheck工具时,Mysql服务器必须在运行状态
3、执行相应操作时表会被锁定,其他操作会被挂起
4、执行表修复操作之前需要对表进行备份,在某些情况下可能数据丢失
mysqldump
MySQL :: MySQL 8.4 Reference Manual :: 6.5.4 mysqldump — A Database Backup Program
mysqldump客户端程序可以执⾏逻辑备份并⽣成⼀组SQL语句,其中包含原始数据库和表的定义 以及表中的数据,以便实现对数据库的简单备份或复制。mysqldump命令可以⽣成CSV、或XML格 式的⽂件
将test_db数据库中的数据,以SQL语句的形式转储到dump.sql文件
注意
1、不同的转储,需要相应的权限
2、mysqldump是逐行转储,所有不适用大数据的转储与导入
mysqladmin
MySQL :: MySQL 8.4 Reference Manual :: 6.5.2 mysqladmin — A MySQL Server Administration Program
mysqladmin 是⼀个执⾏管理操作的客户端。可以⽤来检查服务器的配置和当前状态,以及创建和删除数据库等
使用的客户必须有管理员权限
1、创建和删除数据库
2、默认MySQL服务器可以维护的活动连接为150个,如果用完就可以使用kill那个休眠最长的
这里建立了两个会话,time就是休眠事件
官方文档中提及这里设置密码是不安全的操作,所以不建议这里设置新密码
mysqlshow
MySQL :: MySQL 8.4 Reference Manual :: 6.5.6 mysqlshow — Display Database, Table, and Column Information
mysqlshow 客户端可⽤于快速查看存在哪些数据库、数据库中的表以及表中的列或索引
1、不指定直接显示所有数据库
2、指定数据库
3、显示指定表,也可以指定列
mysqlslap
MySQL :: MySQL 8.4 Reference Manual :: 6.5.7 mysqlslap — A Load Emulation Client
mysqlslap是⼀个诊断程序,⽤于模拟MySQL服务器的客户端负载,并报告每个阶段的时间,就好⽐ 多个客⼾端正在访问服务器⼀样
这里是官方文档提供的
提供⾃定义的创建和查询语句,创建50个客⼾端连接,每个客⼾端进⾏200次 select 查询(在⼀⾏内输⼊命令
mysqlslap --delimiter=";"
--create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)"
--query="SELECT * FROM a" --concurrency=50 --iterations=200
注意:
如果配置文件中有default-character-set=utf8mb4,就会报错
mysqlslap: [ERROR] unknown variable 'default-character-set=utf8mb4'.
加上--no-defaults就可以了
mysqldumpslow
MySQL :: MySQL 8.4 Reference Manual :: 6.6.10 mysqldumpslow — Summarize Slow Query Log Files
在平时使⽤MySQL数据库时,经常进⾏查询操作,有些查询语句执⾏的时间⾮常⻓,当执⾏时间超过
设定的阈值时,我们称这个查询为慢查询,慢查询的相关信息通常需要⽤⽇志记录下来称为慢查询日志
慢查询日志默认是关闭状态
默认路径/var/lib/mysql/主机名-slow.log
mysqlbinlog
MySQL :: MySQL 8.4 Reference Manual :: 6.6.9 mysqlbinlog — Utility for Processing Binary Log Files
我们平时对数据库的修改,包括对数据的增删改,都会被描述成⼀个"事件",每个"事件"都会以⼆进
制的形式记录在⼀个⽂件⾥,这个⽂件就是服务器的⼆进制⽇志⽂件,称为Binary Log或binlog。
mysqlbinlog可以将二进制文件以文本格式输出
binlog默认路径