这里新开一章,对MYSQL进行更加底层的系统的一个学习
Mysql常用工具简介
emmmm这里的话就默认大家在linux系统上面都进行了MYSQL的安装了. 在mysql安装完成之后,一般在路径 ' /usr/bin ' 下的 我们对该路径进行一个文件的展示
这里是展示出来的辅助工具 大概对其做一下说明
- mysql : MYSQL的客户端程序
- mysqlcheck : 用于检查,修复,分析和优化表的 表维护客户端
- mysqldump : 将Mysql数据库转存到sql,文本或者xml文件的客户端(数据导出工具)
- mysqlimport : 将文本文件导入到表中客户端的工具
- mysqladmin : 执行管理操作的客户端 ,例如对数据库的创建和删除 ,还可用于服务器检索版本,进程状态信息这些
- mysqlshow : 显示数据库,表,列和索引工具的客户端
- mysqldumpshow : 用于读取和汇总慢速查询日志内容
- mysqlbinlog : 从二进制日志中读取sql语句的实用程序,mysqlbinlog中包含已执行sql语句的日志,可用于从崩溃中恢复数据
- mysqlslap : 客户端负载工具,用于模拟多个客户端同时访问mysql服务器,并报告每个阶段的使用时间,也就是压测工具。
这些都是客户端工具 下面单独列出一个服务器程序
- mysqld : d是deamon的缩写 也就是守护线程的意思,mysqld在启动过程中mysql服务器才能正常使用
同时mysqld在启动的过程中,可以设置很多选项,同时选项很多,我们一般不通过手动指定,而是通过去写配置文件,将相关等参数保存在系统的配置文件中,然后在启动的过程中进行配置文件的读取。
--verbose 尽可能详细的显示结果
mysqld --verbose --help
启动客户端常见选项
一种是在mysql启动过程中,后面带上相应参数,一种是在mysql启动过程中,后面带上配置文件的地址 。
这里介绍一些常用参数。详细参数可以去官方文档进行查阅 其中-表示为不存在的意思
- 长格式 短格式 说明
- --host -h 连接到指定主机上的 MySQL 服务
- --port -p TCP/IP 连接使⽤的端⼝号
- --user -u ⽤于连接到MySQL 服务器的⽤⼾名
- --password -p ⽤于连接到MySQL 服务器的密码,可选如果没有给出, 会提⽰⽤⼾输⼊
- --defaults-file - 使⽤指定的选项⽂件。如果该⽂件不存在,则会发⽣错误
- --default-characte-set - charset_name 将作为客⼾端和当前连接的默认字符集
- --database -D 要使用的数据库
- --compress -C 如果可能,压缩客⼾端和服务器之间传输的所有信息
- --reconnect - 如果客⼾端与服务器的连接丢失,⾃动尝试重新连接
- --quick -q 不缓存查询结果,收到⼀⾏打印⼀⾏,如果输出被挂起,可能会降低服务器速度
- --protocol - ⽤于连接到服务器的传输协议, 默认为TCP
- --delimiter - 设置SQL语句分隔符。默认值为分号 ( ; )
- --execute -e 执行指定的sql语句并退出
- --version -v 显示版本信息
- --help -? 显示帮助信息
其中短格式 -h 127.0.0.1 用空格既可以带值 但是长格式必须使用等号 --host=127.0.0.1
客户端的常见命令
按help表示查看帮助 前面表示完整的指令,括号之中表示指令的一个短格式,就可以看到一些常见的客户端命令了。这里简单罗列一些基础的。
在我们平时写sql的过程中,一般是使用' ; ' 来进行的结尾表示,但是结尾也可以使用其他形式来进行表示比如' ; ' 和 ' /g ' 和 ' /G '来进行结尾的一个表示
可以看出加上/G之后数据的展示格式就是按照水平来展示了
- \d (delimiter)重新定义sql语句的结束标志符 默认是‘ ;’号
- exit quit (\q)都是退出mysql客户端的指令
- \T(tee) 每一个sql语句操作之后都会有对应的使用日志,tee就是设置对应使用日志位置的指令
- prompt 更改提示符
可以看到修改之后 前面的mysql变为了**
- system 可以执行系统指令
可以看到system是一个非常危险的操作。
- warnings 显示警告
- nowarnings不显示警告
.sql文件执行sql语句
我们在平时比如想把a服务器的数据导入到b服务器,此时我们就可以把a服务器的数据导入到.sql文件同时让b服务器执行这个sql文件来完成数据的转移 开发-->测试-->生产
我们可以使用上述source命令来进行导入
source 后面跟上文件地址即可
第二种方法为可以使用mysql客户端进行一个直接的导入
mysql database < text_file 指定数据库之后file文件中可以不使用use语句
mysql < text_file 不指定数据库file文件中必须写上use语句 也就是使用那个数据库