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

本文内容

  • 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 < script.sql > 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" 选项,查看命令的选项列表。

 

参考资料


o_r_%E7%BF%BB%E8%AF%91.jpg

本课程系列通过对Mysql数据库的当前业界应用情况和未来发展应用前景的分析作为切入点,结合Mysql企业应用的热点关键功能,尽量用通俗易懂的方式讲给大家。本课程是作者收集了大量资料,参考很多讲师的精华内容,坚持半年利用业余时间,每天早上坚持录制一节课程,对内容不断的提炼打磨,不断的对知识点进行思考总结,最后把自认为满意的结果呈现给大家,个人精力有限难免有不足支持,希望大家多交流留言,提出宝贵意见,促使不断优化改进。本系列课程主要由以下部分组成:一,MySql概述数据库概念,主流数据库介绍,Mysql概述MySql版本介绍,外围工具,MySql分支版本发展,数据库发展前景,数据库的应用发展。Mysql安装。二,MySql架构体系结构,sql执行过程,逻辑结构,物理结构,数据库实例,存储引擎 三,MySql常用操作数据库,权限表,表内容,常用函数,备份与恢复,存储过程,触发器,事务四,MySql优化需求设计SQL语句:索引的优化,sql语句的优化,表的优化运维配置角度五,MySql集群部署主从复制,读写分离六,高级应用(开发)Mybats访问数据库,JDBC,NET平台EF框架等操作数据库Mysql在大数据项目中应用事务及分布式事务ß【课程目标 】Þ了解MySQl数据库架构 Þ掌握数据库基本操作Þ数据库设计一般方法 Þ数据库优化Þ数据库集群应用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值