MySQL入门教程系列-1.4 MySQL工具

2,898 阅读7分钟

MySQL工具

共同编辑,修正错误,这里点击进去 在这里持续更新

由于 MySQL 软件是基于 C/S 模式的数据库管理系统(一个客户机—服务器DBMS),因此在日常各种工作中,可以通过各种客户端软件来与 MySQL 数据库管理系统关联。MySQL,需要有一个客户机,即你需要用来与MySQL打交道(给MySQL 提供要执行的命令)的一个应用。有许多客户机应用可供选择,但在学习MySQL(确切地说,在编写 和测试MySQL脚本时),最好是使用专门用途的实用程序。官方自带 MySQL Command Line Client 和 MySQL-Workbench 客户端。

MySQL 官方数据库管理系统提供了许多的命令工具,这些工具可以用来管理 MySQL 服务器,对数据库进行访问、管理 MySQL 用户以及数据库备份和恢复工具等。而且 MySQL 提供图形化管理工具,这样操作更简单。

命令行使用程序

每个 MySQL 安装都有一个名为 MySQL 的简单命令行实用程序。这 个实用程序没有下拉菜单、流行的用户界面、鼠标支持或任何类似的东西。

首先将这个使用率高达80%以上的“mysql”命令工具简单的做一个讲解,在操作系统命令终端提示符下输入 mysql -h 127.0.0.1 -u用户名 -p密码,将出现一个如下的简单提示:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 99
Server version: 5.7.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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>
  • Commands end with ; or \g. 命令的结束符,用“;”或者“\g”符号结束,但是冒号结束退出是不行的。
  • Your MySQL connection id is 99 其中 id 表示客户端的连接 ID,该数据记录了 MySQL 服务到目前为止的连接次数,每次新连接都会自动加 1。由于数据库服务是我安装了好久的,所以当前 ID 值为 99。
  • Server version: 5.7.14 MySQL MySQL的版本。
  • Community Server (GPL) 表示 MySQL 软件是社区版。
  • Type 'help;' or '\h' for help. 表示输入 “help;” 或者 “\h” 命令可以查看帮助信息。
  • Type '\c' to clear the current input statement. 表示输入“\c” 命令可以清除前面的命令。

你只需要在mysql>命令中输入 SQL 语句,同时并以分号“;”结束。最后摁Enter键即可操作 MySQL软件。

当然,具体的版本和连接信息可能不同,但都可以使用这个实用程序。请注意:

  • 命令输入在mysql> 之后;
  • q\quitexit三种命令可以退出命令行实用程序;
  • 帮助命令,输入help\h获得帮助,可以获得其它特定的命令的帮助(如,输入help select获得使用SELECT语句的帮助);

MySQL 服务器端使用工具程序

  1. mysqld - SQL 后台程序(即 MySQL 服务器进程)。该程序必须启动运行,才能连接服务器来访问数据库。
  2. mysqld_safe - 服务器启动脚本,可以通过 mysqld_safe 来启动 mysqld 服务器。mysqld_safe 增加了一些安全特性,例如当前出现错误时重启服务器并向错误日至文件写入运行时间信息。
  3. mysql.server - MySQL服务器的启动脚本。可以启动或停止系统上安装的多个服务器。
  4. mysqld_multi - 管理多个MySQL服务器。

MySQL 安装相关程序

  1. comp_err - 编译MySQL错误信息文件。
  2. mysql_install_db - 初始化MySQL数据目录。
  3. mysql_plugin - 配置MySQL服务器插件。
  4. mysql_secure_installation - 提高MySQL安装的安全性。
  5. mysql_ssl_rsa_setup - 创建 SSL/RSA 文件。
  6. mysql_tzinfo_to_sql - 加载时区表。
  7. mysql_upgrade - 检查并升级MySQL表。

MySQL 客户端使用工具程序

  1. mysql - MySQL命令行工具。
  2. mysqladmin - 用于管理MySQL服务器客户端。
  3. mysqlcheck - 表维护程序。
  4. mysqldump - 数据库备份程序。
  5. mysqlimport - 数据导入程序。
  6. mysqlpump - 数据库备份程序。
  7. mysqlsh - Shell下执行 mysql 命令。
  8. mysqlshow - 显示数据库、表和列的信息,。
  9. mysqlslap - 负载仿真客户端。

MySQL 程序开发工具

  1. mysql_config - 编译客户端的显示选项。
  2. my_print_defaults - 显示选项文件的选项。
  3. resolve_stack_dump - 解析数字堆栈跟踪转储到符号。

MySQL 管理实用程序

  1. innochecksum - 离线InnoDB文件校验工具。
  2. myisam_ftdump - 显示全文索引信息。
  3. myisamchk - MyISAM表维护实用工具。
  4. myisamlog - 显示MyISAM日志文件内容。
  5. myisampack - 产生压缩,只读MyISAM表。
  6. mysql_config_editor - MySQL的配置实用程序。
  7. mysqlbinlog - 处理二进制日志文件的效用。
  8. mysqldumpslow - 总结慢查询日志文件。

杂项程序

  1. lz4_decompress - 解压缩mysqlpump lz4压缩输出。
  2. perror - 解释错误代码。
  3. replace - 一个字符串替换工具。
  4. resolveip - 解析主机名到IP地址或反之亦然。
  5. zlib_decompress - 解压缩mysqlpump zlib压缩输出。

MySQL 命令行实用程序是使用最多的实用程序之一,它对于快速测试 和执行脚本非常有价值。事实上,本书中使用的所有输出例子都是从 MySQL 命令行输出中抓取的。

MySQL Workbench客户端

对于命令行客户端软件,想熟悉使用,必需对每一个相关命令需要非常熟悉,这对于现在初级 MySQL 用户来说,还得玩儿上好长一段时间。于是官方专卖开发了图形化客户端软件 MySQL Workbench,进入 MySQL Workbench 进行下载安装程序,这里安装我是按照默认选项安装,直接不停的下一步。

MySQL Workbench 主要是为数据库管理员和开发人员提供了一整套可视化数据看操作环境,主要有以下功能:

  • 数据看设计和模型建立
  • SQL开发(取代MySQL Query Browser)
  • 数据看管理(取代MySQL Administrator)

MySQL Workbench以前老版本分两个版本,MySQL Workbench Community Edition(也叫 MySQL Workbench OSS,社区版本)和 MySQL Workbench Standard Edition (MySQL Workbench SE,商业版),商业版是收费的,现在官网只看到社区版,官网不在提供商业版的技术支持和更新了。

常用图形管理工具

MySQL Workbench 功能繁缛,操作复杂,而且在 Mac 上面启动慢操作不方便。对于太多大段英文操作界面十分不友好,长得也特别丑陋,所以在 Mac 上推荐一款界面简单、大方、好用的图形管理工具 Sequel Pro 。这也是一个开源免费的软件,源码在这里 如果你有兴趣可研究研究它的源码,做出你的一点贡献。

Sequel Pro 安装也特别简单,有着 Mac 安装应用的风范,下载之后打开 dmg 拖拽 APP 到你的应用程序文件夹即可安装成功,下面是它漂亮的界面:

我在开发过程中一直使用它来配合命令行终端来使用。在这个过程中熟悉了不少命令,为今后在 Linux 服务器中也玩儿得如鱼得水,非常happy!个人小建议,终归是要熟悉一些命令行的,因为部署到生产环境,极为可能连操作系统都没有图形界面。

MyCli替代MySQL的mysql命令行工具

MyCli 是一个 MySQL 命令行工具,支持自动补全和语法高亮。也可用于 MariaDB 和 Percona。推荐好用的图形界面也得推荐好用的命令行工具,这个工具也是免费开源的,源码在这里

它的安装也毫无压力,不费吹灰之力就搞定安装,没有复杂的配置,MyCli是在太厉害了,不得不推荐它。安装方法如下:


# 如果你已会安装 Python 包,那就简单了:
$ pip install mycli

# 只能在 Mac OS X 中安装
$ brew update && brew install mycli  

# 只能在debian 或者 ubuntu 系统中安装
$ sudo apt-get install mycli

工具的帮助文档,在命令行中运行mycli --help就可以输出帮助文档

$ mycli --help
Usage: mycli [OPTIONS] [DATABASE]

Options:
  -h, --host TEXT               数据库的主机地址。
  -P, --port INTEGER            用于连接的端口号。 Honors $MYSQL_TCP_PORT
  -u, --user TEXT               连接到数据库的用户名。
  -S, --socket TEXT             用于连接的套接字文件。
  -p, --password TEXT           连接到数据库的密码。
  --pass TEXT                   连接到数据库的密码。
  -v, --version                 mycli的版本输出。
  -D, --database TEXT           使用数据库。
  -R, --prompt TEXT             提示格式 (Default: "\t \u@\h:\d> ")
  -l, --logfile FILENAME        将每一个查询和它的结果记录到一个文件中。
  --defaults-group-suffix TEXT  读取指定的后缀的配置组。
  --defaults-file PATH          只从给定文件中读取默认选项。
  --auto-vertical-output        如果结果比终端更宽,自动切换到垂直输出模式。
  --login-path TEXT             从登录文件中读取此路径。
  --help                        显示此帮助消息

使用例子

$ mycli local_database
$ mycli -h localhost -u root app_db
$ mycli mysql://amjith@localhost:3306/django_poll