zoukankan      html  css  js  c++  java
  • 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" 选项,查看命令的选项列表。

    参考资料


  • 相关阅读:
    在ASP.NET WebAPI 中使用缓存【Redis】
    Redis 缓存服务配置与使用
    使用 New Relic 监控接口服务性能 (APM)
    基于OWIN WebAPI 使用OAuth授权服务【客户端模式(Client Credentials Grant)】
    svn查看代码作者的命令
    Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.1.1:rpm (default) on project **
    Error: Cannot find a valid baseurl for repo: base
    intellij中编译报错: The packaging for this project did not assign a file to the build artifact
    fsimage 和 edits log
    查看rpm和war包内容
  • 原文地址:https://www.cnblogs.com/liuning8023/p/2698507.html
Copyright © 2011-2022 走看看