Maison >base de données >tutoriel mysql >MySQL 5.5/5.6概述 MySQL 客户端程序_MySQL

MySQL 5.5/5.6概述 MySQL 客户端程序_MySQL

WBOY
WBOYoriginal
2016-06-01 13:48:131007parcourir

bitsCN.com

本文内容

  • mysql
  • mysqladmin
  • mysqlcheck
  • mysqldump
  • mysqlimport
  • mysqlshow
  • mysqlslap
  • 参考资料

 

mysql


mysql 是一个可以输入行的 SQL 外壳,输入行可以编辑。它支持交互和非交互。当使用交互式,查询结果以一个 ASCII 表格式来显示。当使用非交互时(例如,作为过滤),查询结果以 tab 分隔格式显示。输出格式可以通过命令行选项来改变。如下所示:

shell> mysql db_name;

shell> mysql --user=user_name --password=your_password db_name;

键入 ;/g/G,按回车,语句就会执行。

也可以执行一个脚本文件的语句,如下所示:

shell> mysql db_name  output.tab
在 Unix 系统上,mysql 客户端会向历史文件写入执行语句记录。

 

mysqladmin


mysqladmin 是在客户端执行管理性的操作。可以使用该命令检查服务配置和当前状态,以及创建和删除数据库等等。如下所示:

shell> mysqladmin [options] command [command-arg] [command [command-arg]] ...

 

mysqlcheck


mysqlcheck 执行表的维护:检查、修复、优化,或分析。

当执行该命令时,表会被锁定(只读),因此,对其他会话来说不可用。表维护操作很耗时,特别是对大表来说。如果你使用  --databases--all-databases 选项来处理一个或多个数据库的所有表,mysqlcheck 可能会花很长时间。

mysqlcheckmyisamchk,但是运行不同。主要的不同是,mysqlcheck 只有当 mysqld 服务运行时才能使用,而 myisamchk 不需要。使用 mysqlcheck 的好处是不用停止服务就可以执行表维护。

mysqlcheck 以方便的方式使用 SQL 语句 CHECK TABLEREPAIR TABLEANALYZE TABLEOPTIMIZE TABLE。确定你想执行哪个语句,之后,该语句发送给服务器来执行。

MyISAM 存储引擎支持所有四种维护操作,因此,mysqlcheck 可以被用于在 MyISAM 表上执行任何的一个。其他存储引擎不能全支持。此时,会显示错误信息。例如,若 test.t 是一个 MEMORY 表,检查会产生如下结果:

shell> mysqlcheck test t
test.t
note : The storage engine for the table doesn't support check

调用 mysqlcheck 一般有三个方式:

shell> mysqlcheck [options] db_name [tbl_name ...]
shell> mysqlcheck [options] --databases db_name ...
shell> mysqlcheck [options] --all-databases

如果没有在 db_name 后指定任何表名,或使用 --databases--all-databases 选项,那么将检查整个数据库。

与其他客户端程序相比,mysqlcheck 有一个的特别功能。通过重新命名为二进制可以改变检查表的默认行为。如果你期望你有个默认修复表的工具,那么你只需复制 mysqlcheck,并重新命名为 mysqlrepair,或用符号连接。如果调用 mysqlrepair,它就会修复表。

 

mysqldump


mysqldump 最初是 Igor Romanenko 编写的备份程序。为了备份来转储(dump)一个数据库或数据库集合,传输到另一个 SQL 服务(不必是 MySQL 服务)。转储典型地包含创建表,填充表的 SQL 语句,或两者同时。mysqldump 也用来产生 CSV 文件,其他分隔文本,或 XML 格式。

将 MySQL 数据库转储到一个文件(例如SQL语句或tab分隔符文本文件)的客户程序。

mysqldump 要求至少 SELECT 权限(用来转储表),SHOW VIEW 权限(用来转储视图),以及 LOCK TABLES 权限(如果没有使用 --single-transaction 选项)。

如果备份,但所有表都是 MyISAM 表,可以考虑 mysqlhotcopy,因为,它可以更快地完成备份和恢复。

调用 mysqldump 有三个方式:

shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases

如果没有在 db_name 后指定任何表名,或使用 --databases--all-databases 选项,那么将转储整个数据库。

默认情况下,mysqldump 不会转储 INFORMATION_SCHEMA 数据库。但可以在命令行显式指定。在 MySQL 5.5 之前,mysqldump 会忽略 INFORMATION_SCHEMA 数据库,即便你在命令行显式指定。

mysqldump 不会转储 performance_schema 数据库。

MySQL 5.5.25 之前的版本,mysqldump 不会转储 general_logslow_query_log 表。MySQL 5.5.25 的转储包含重新创建这些表的语句,这样,重新加载转储文件后,它们不会丢失。日志表的内容不会被转储。

mysqldump 也不会转储 MySQL Cluster ndbinfo 信息数据库。

 

mysqlimport


mysqlimportLOAD DATA INFILE SQL 语句提供一个命令行接口。如下所示:

shell> mysqlimport [options] db_name textfile1 [textfile2 ...]

在命令行上指定的每个 textfile,mysqlimport 从文件名去掉扩展名,并使用该结果来确定表名,将其导入到文件内容。例如,名为 patient.txt、patient.text,所有的 patient 将被导入到一个名为 patient 的表。

 

mysqlshow


mysqlshow 用来快速查看已存在的数据库,及其表,列或索引。

mysqlshow 为很多 SQL SHOW 语句提供了一个命令行接口。如下所示:

shell> mysqlshow [options] [db_name [tbl_name [col_name]]]
  • 若没指定数据库,则显示所有数据库。
  • 若没指定表,则显示数据库中所有的表。
  • 若没指定列,则显示表的所有列和类型。

可以在参数中使用通配符(*、?、%、_)。

 

mysqlslap


mysqlslap 是诊断程序,用于模拟客户端加载,并报告每个阶段的时间。如果是多客户端正在访问服务,那么该命令很有用。如下所示:

shell> mysqlslap [options]

 

客户端命令可以通过命令的 "--help" 选项,查看命令的选项列表。

 

参考资料


  • MySQL dev http://dev.mysql.com/doc/

MySQL 5.5/5.6概述 MySQL 客户端程序_MySQL

bitsCN.com
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn