MySQL 管理
系统数据库介绍 + MySQL 自带客户端工具详解
一、系统数据库
MySQL 安装完成后自带 4 个系统库,不要随意修改。
表格
| 系统数据库 | 具体作用 |
|---|---|
information_schema |
提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型以及访问权限等。 |
mysql |
存储 MySQL 服务器运行的各种系统表,核心存放用户账号、权限、时区等管理信息。 |
performance_schema |
为 MySQL 服务器运行时状态提供底层监控功能,主要用于收集数据库服务器性能参数、锁信息等。 |
sys |
视图库,基于 performance_schema 的数据封装,方便 DBA 快速查看性能问题。 |
二、常用客户端工具
1. mysql(客户端连接工具)
用于登录连接 MySQL 数据库,也可在脚本中执行 SQL。 语法
bash
运行
sql
mysql [options] [database]
常用选项
bash
运行
sql
-u, --user=name #指定用户名
-p, --password[=name] #指定密码
-h, --host=name #指定服务器IP或域名
-P, --port=port #指定连接端口
-e, --execute=name #执行SQL语句并退出
-e参数非常适合写 Shell 脚本,不需要进入交互式终端就能执行 SQL。
2. mysqladmin
mysqladmin 是一个执行管理操作的客户端程序,可完成检查服务器状态、修改密码、关闭服务等管理操作。
3. mysqlbinlog
用来解析服务器生成的二进制日志文件 (binlog),binlog 本身是二进制格式,无法直接阅读。
语法
bash
运行
sql
mysqlbinlog [options] log-files1 log-files2 ...
选项:
bash
运行
sql
-d, --database=name #指定数据库名称,只列出指定的数据库相关操作。
-o, --offset=# #忽略掉日志中的前 n 行命令。
-r,--result-file=name #将输出的文本格式日志输出到指定文件。
-s, --short-form #显示简单格式, 省略掉一些信息。
--start-datetime=date1 --stop-datetime=date2 #指定日期间隔内的所有日志。
--start-position=pos1 --stop-position=pos2 #指定位置间隔内的所有日志。
4. mysqlshow
客户端对象查找工具,用来快速查看:存在哪些数据库、库里面的表、表中的列、索引信息。
5. mysqldump(数据库备份工具)
用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含建表、插入数据的 SQL 语句。
语法
bash
运行
sql
mysqldump [options] db_name [tables]
mysqldump [options] --database/-B db1 [db2 db3...]
mysqldump [options] --all-databases/-A
连接选项
bash
运行
sql
-u, --user=name #指定用户名
-p, --password[=name] #指定密码
-h, --host=name #指定服务器 ip 或域名
-P, --port=# #指定连接端口
输出选项
bash
运行
sql
--add-drop-database #在每个数据库创建语句前加上 drop database 语句
--add-drop-table #在每个表创建语句前加上 drop table 语句,默认开启;不开启 (--skip-add-drop-table)
-n, --no-create-db #不包含数据库的创建语句
-t, --no-create-info #不包含数据表的创建语句
-d --no-data #不包含数据(只导出表结构)
-T, --tab=name #自动生成两个文件:一个.sql 文件(表结构);一个.txt 文件(纯数据)
6. mysqlimport /source(数据导入)
mysqlimport
客户端数据导入工具,专门用来导入 mysqldump -T 参数导出的.txt文本数据文件。
语法
bash
运行
sql
mysqlimport [options] db_name textfile1 [textfile2...]
示例
bash
运行
mysqlimport -uroot -p2143 test /tmp/city.txt
source(导入 sql 备份文件)
进入 MySQL 交互式终端后执行,用来导入.sql备份脚本。 语法(mysql 命令行内执行)
sql
source /root/xxxxx.sql
三、工具清单总结
mysql:数据库交互式连接客户端mysqladmin:服务器管理工具mysqlbinlog:解析二进制日志 binlogmysqlshow:快速查看库、表、列、索引mysqldump:数据库备份、迁移导出mysqlimport / source:数据导入