mysql(客户端连接工具)
mysql[options][database]
这里的 options
表示 mysql 的可用选项,可以一次写一个或者多个,也可以不写;database
表示连接的数据库,一次只能写一个,如果不写,连接成功后需要用 use database
来进入要操作的数据库
有两种表达方式:
-
-
加选项单词的缩写字符,加选项值mysql --uroot
-
--
加选项的完整单词加=
加选项的实际值mysql --user=root
要了解更多的选项,可以使用 mysql --help
命令查看
连接选项
-u
或者 --user=name
指定用户名
-p
或者 --password[=name]
指定密码
-h
或者 --host=name
指定服务器 IP 或者域名
-P
或者 --port=#
指定连接端口
客户端字符集选项
--default-character-set=character-name
执行选项
-e
或者 --execute=name
执行 SQL 语句并退出
此选项可以直接在 MySQL 客户端执行 SQL 语句,而不用连接到 MySQL 数据库后再执行
可以连续执行多个 SQL 语句,用分号隔开
mysql -uroot -p -e"select * from dbtest.xixi;select * from dbtest.haha"
格式化选项
-E
或者 --vertical
将输出方式按照字段顺序竖着显示,类似于 SQL 语句后加 \G
,可以将输出内容比较多的行更清晰完整的显示,经常和 -e
选项一起使用
-s
或者 --silent
去掉 mysql 中的线条框显示,字段之间用 tab 进行分割,每条记录显示一行
错误处理选项
-f
或者 --force
强制执行 SQL
-v
或者 --verbose
显示更多信息
--show-warnings
显示警告信息
myisampack(MyISAM 表压缩工具)
myisampack tname
压缩后变成只读表
mysqladmin(MySQL 管理工具)
mysqladmin 是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前的状态,创建并删除数据库等。它的功能和 mysql 客户端非常类似,主要区别在于它更侧重于一些管理方面的功能,比如关闭数据库
mysqladmin [options] command [command-options] [command [command-options]]...
mysqlbinlog(日志管理工具)
由于服务器生成的二进制日志文件以二进制格式保存,所以如果想要检查这些文件的文本格式,就会用到 mysqlbinlog 日志管理工具
mysqlbinlog [options] log-files1 log-files2...
option 常用的选项如下:
-d
或者 --database=name
指定数据库名称,只列出指定的数据库相关操作
-o
或者 --offset=#
忽略掉日志中的前 n 行命令
-r
或者 -result-file=name
将输出的文本格式日志输出到指定文件
-s
或者 -short-form
显示简单格式,省略掉一些信息
--set-charset=char-name
在输出为文本格式时,在文件的第一行加上 set names char-name
--start-datetime=name
--stop-datetime=name
指定日期间隔内的所有日志
--start-position=#
--stop-position=#
指定位置间隔内的所有日志
mysqlcheck(MyISM 表维护工具)
mysqlcheck 客户端工具可以检查和修复 MyISAM 表,还可以优化和分析表,实际上,它集成了 mysql 工具中的 check,repair,analyze,optimize 的功能
mysqlcheck [options] dbname [table]
mysqlcheck [options] --database db1[db2 db3...]
mysqlcheck [options] --all-database
option 中有以下常用选项:
-c
或者 --check
检查表(默认)
-r
或者 --repair
修复表
-a
或者 --analyze
分析表
-o
或者 --optimize
优化表
mysqldump(数据导出工具)
mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表或装载表的 SQL 语句
mysqldump [options] dbname [tables]
mysqldump [options] --database db1[db2 db3]...
mysqldump [options] --all-database
mysqldump --help
查看更详细功能
输出内容选项
--add-drop-database
每个数据库创建语句前加上 drop database 语句
--add-drop-table
在每个表创建语句前加上 drop table 语句
以上这两个选项可以在导入数据库时不用先手工删除旧的数据库,而是会自动删除,提高导入效率,但是导入前一定要做好备份并且确认旧数据库的确已经可以删除,否则误操作将会造成数据的损失。默认情况下,这两个参数都是自动加上的
-n
或者 --no-create-db
不包含数据库的创建语句
-t
或者 --no-create-info
不包含数据表的创建语句
-d
或者 --no-data
不包含数据
输出格式选项
--compact
使输出结果简洁,不包括默认选项中的各种注释
-c
或者 --complete-insert
使得输出文件中的 insert 语句包括字段名称,默认不包括
-T
将指定数据表中的数据被分为单纯的数据文本和建表 SQL 两个文件
字符集选项
--default-character-set=name
可以设置导出的客户端字符集
这个选项在导出数据库的时候非常重要,如果客户端字符集和数据库字符集不一致,数据在导出的时候就需要进行字符集转换,将数据库字符集转换为客户端字符集,经过转换后的数据很可能成为乱码或者特殊字符,使得备份文件无法恢复
其他常用选项
-F
或者 --flush-logs
:备份前刷新日志。加上此选项后,备份前将关闭旧日志,生成新日志。使得进行恢复的时候直接从新日志开始进行重做,大大方便了恢复过程
-l
或者 --lock-tables
:给所有表加读锁。可以在备份期间使用,使得数据无法被更新,从而使备份的数据保持一致性,可以配合 -F
选项一起使用
mysqlimport(数据导入工具)
用来导入 mysqldump 加 -T 选项后导出的文本文件。它实际上是客户端提供了 load data infile
语句的一个命令行接口
mysqlimport [options] dbname textfile1 [textfile2]...
mysqlshow(数据库对象查看工具)
用来很快的查找存在哪些数据库,数据库中的表,表中的列或索引
mysqlshow [option] [dbname [tablename [colname]]]
如果不加任何选项,默认情况下会显示所有数据库
常用选项:
--count
:显示数据库和表的统计信息。如果不指定数据库,则显示每个数据库的名称,表数量,记录数量;如果指定数据库,则显示指定数据库的每个表名,字段数量,记录数量;如果指定具体数据库中的具体表,则显示表的字段信息
-k
或者 --keys
:显示指定表中的所有索引
-i
或者 --status
:显示表的一些状态信息
perror(错误代码查看工具)
perror [options] [errorcode [errorcode...]]
replace(文本替换工具)
replace from to [from to]... -- file [file]...
replace from to [from to]... < file
--
表示字符串结束,文件的开始,可以跟多个源文件,替换完毕后会覆盖原文件
<
表示后面的文件作为输入,替换后的文本显示在标准输出上,不会覆盖原文件