MySQL 中的常用工具

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

-- 表示字符串结束,文件的开始,可以跟多个源文件,替换完毕后会覆盖原文件

< 表示后面的文件作为输入,替换后的文本显示在标准输出上,不会覆盖原文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容