Mysql中各种常用的命令行客户端工具

179 阅读4分钟

文章目录


1. mysql

mysql应该是最常用的一个数据库客户端工具,通常使用数据库前都需要通过msyql -uroot -p来连接数据库。它的语法为“

mysql [options] [database]

命令中常用的参数有:

  • -u:等价于--user=name,指定用户名
  • -p:等价于--password[=name],指定密码
  • -h:等价于--host=name,指定连接服务器ip或者域名
  • -P:等价于--port=#,指定连接端口
  • -e:等价于--execute=name,执行SQL语句并退出
  • -default-charset-set=charset-name:指定客户端所使用的字符集
  • -E:等价于--vertical:将输出方式按照字段顺序竖着输出
  • -s:等价于--slient,去掉mysql中的线条框显示
  • -f:等价于--force,强制执行SQL
  • -v:等价于--verbose,显示更多信息
  • --show-warnings:显示警告信息
root@1cfaa4a79efb:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 32
Server version: 8.0.2-dmr MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
------------------------------------------------------------------------------
root@1cfaa4a79efb:/# mysql -uroot -p123456 -e "select * from test.account";
mysql: [Warning] Using a password on the command line interface can be insecure.
+----+----------+-------+
| id | name     | money |
+----+----------+-------+
| 18 | Forlogen |  1000 |
| 19 | Kobe     |   500 |
| 20 | James    |   800 |
+----+----------+-------+

2. mysqladmin

mysqladmin是一个执行管理操作的而客户端程序,可以用它来检查服务器的配置和当前状态、创建并删除数据库等操作。常用命令格式为:

msyqladmin -uroot -proot create xxxx;
mysqladmin -uroot -proot drop xxxx;
mysqladmin -uroot -proot version;

例如,创建数据库test:

C:\WINDOWS\system32>mysqladmin -uroot -p123456 create test;
mysqladmin: [Warning] Using a password on the command line interface can be insecure.

3. mysqlbinlog

mysqlbinlog用于管理Mysql服务器生成的二进制日志文件,语法格式为:

mysqlbinlog [options] log-file1 log-file2 ...

常使用的选项有:

  • -d, --database=name : 指定数据库名称,只列出指定的数据库相关操作
  • -o, --offset=# : 忽略掉日志中的前n行命令
  • -r,--result-file=name: 将输出的文本格式日志输出到指定文件
  • -s, --short-form : 显示简单格式, 省略掉一些信息
  • --start-datatime=date1 --stop-datetime=date2: 指定日期间隔内的所有日志
  • --start-position=pos1 --stop-position=pos2 : 指定位置间隔内的所有日志

4. mysqldump

mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表及插入表的SQL语句。语法格式为:

mysqldump [options] db_name [tables]
mysqldump [options] --database/-B db1 [db2 db3...]
mysqldump [options] --all-databases/-A

常使用的连接选项有:

  • -u, --user=name :指定用户名
  • -p,--password[=name]:指定密码
  • -h,--host=name :指定服务器IP或域名
  • -P, --port=#:指定连接端口

此外,msyqldump还提供了多个输出内容选项:

  • --add-drop-database :在每个数据库创建语句前加上 Drop database 语句
  • --add-drop-table :在每个表创建语句前加上 Drop table 语句 , 默认开启 ;
  • --skip-add-drop-table:不在每个表创建语句前加上 Drop table 语句
  • -n, --no-create-db :不包含数据库的创建语句
  • -t, --no-create-info:不包含数据表的创建语句
  • -d --no-data:不包含数据
  • -T, --tab=name :自动生成两个文件:一个.sql文件,创建表结构的语句;一个.txt文件,数据文件,相当于select into outfile

5. mysqlimport/source

mysqlimport 是客户端数据导入工具,用来导入mysqldump 加 -T 参数后导出的文本文件。语法格式为:

mysqlimport [options] db_name textfile1 1 [textfile2...]

如果想要导入sql文件,可以使用source指令source xxx.sql

6. mysqlshow

mysqlshow 客户端对象查找工具,用来很快地查找存在哪些数据库、数据库中的表、表中的列或者索引。语法格式为:

mysqlshow [options] [db_name [table_name [col_name]]]

其中参数有:

  • count:显示数据库及表的统计信息,数据库和表也可以不指定
  • -i:显示是定数据库或指定表的状态信息

7. myisampack

myisampack用于对MyIsam存储引擎中的表进行压缩,压缩后的表只能查询,不能执行插入和更新操作。语法格式为:

myisampack table-name

8. mysqlcheck

mysqlcheck可以用于检查和修复MyIsam表,还能优化和分析表。语法格式为:

mysqlcheck [options] db_name [tables]
mysqlcheck [options] --databse DB1 [DB2, DB3, ...]
mysqlcheck [options] --all-database

常用的选型有:

  • -c,--check:检查表
  • -r,--repair:修复表
  • -a,--analyze:分析表
  • -o,--optimize:优化表

当然上述客户端所支持的功能可以在各种可视化客户端中实现,所以上面的命令可以作为一种后备选择,随用随查。