7. MySQL 管理:系统数据库与常见工具

本文详述 MySQL 的系统数据库功能及常见工具的简单用法,并提供具体指令解析。


1. 系统数据库

MySQL 默认提供四个系统数据库,每个数据库都有特定的功能。下表总结了它们的作用:

数据库名 作用
mysql 存储数据库用户、权限、角色等管理信息。如 user 表记录用户信息,db 表定义数据库的访问权限。
information_schema 提供数据库元数据的只读视图,如表、列、权限、统计信息等。
performance_schema 提供性能监控和诊断信息,包括 SQL 执行延迟、IO 操作统计等,便于优化数据库性能。
sys 基于 performance_schema 提供的视图,简化性能数据查询,更适合运维人员使用。

2. 常见工具

2.1 mysql 工具

作用

提供 MySQL 客户端交互环境,支持运行 SQL 查询、管理数据库和用户权限。

常用指令
命令 描述
mysql -u <user> -p 登录 MySQL 数据库。
SHOW DATABASES; 查看所有数据库。
USE <database>; 切换到指定数据库。
SHOW TABLES; 查看当前数据库的所有表。
SELECT * FROM <table>; 查询指定表的数据。

2.2 mysqldump 工具

作用

用于备份数据库或表数据。

语法
sql 复制代码
mysqldump [options] db_name [tables]
mysqldump [options] --database/-B db1 [db2 db3...]
mysqldump [options] --all-databases/-A
连接选项
选项 描述
-u, --user=name 指定用户名。
-p, --password[=name] 指定密码。
-h, --host=name 指定服务器 IP 或域名。
-P, --port=# 指定连接端口。
输出选项
选项 描述
--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 文件保存数据内容。
案例
sql 复制代码
# 备份单个数据库
mysqldump -u root -p test > test_backup.sql

# 备份多个数据库
mysqldump -u root -p --databases test db1 db2 > multiple_backup.sql

# 备份所有数据库
mysqldump -u root -p --all-databases > all_backup.sql

# 只备份 test 数据库的表结构
mysqldump -u root -p -d test > test_structure.sql

2.3 mysqladmin 工具

作用

管理 MySQL 服务,执行管理任务如查看服务器状态、重启服务等。

常用指令
命令 描述
mysqladmin -u <user> -p status 查看服务器状态,包括线程数、查询数等信息。
mysqladmin shutdown 关闭 MySQL 服务。
mysqladmin processlist 查看当前执行的查询。
案例
sql 复制代码
# 查看服务器状态
mysqladmin -u root -p status

# 关闭 MySQL 服务
mysqladmin -u root -p shutdown

2.4 mysqlbinlog 工具

作用

解析和查看二进制日志,常用于故障恢复和主从同步。

常用指令
命令 描述
mysqlbinlog <binlog_file> 查看二进制日志内容。
mysqlbinlog --start-datetime="..." 从指定时间开始解析日志内容。
mysqlbinlog --start-position=... 从指定位置解析日志内容。
案例
sql 复制代码
# 查看指定二进制日志内容
mysqlbinlog mysql-bin.000001

# 从指定时间解析日志
mysqlbinlog --start-datetime="2024-01-01 10:00:00" mysql-bin.000001

2.5 mysqlshow 工具

作用

显示数据库、表及列等元数据。

常用指令
命令 描述
mysqlshow 显示所有数据库。
mysqlshow <database> 显示指定数据库中的表。
mysqlshow <database> <table> 显示指定表的列信息。
案例
sql 复制代码
# 显示所有数据库
mysqlshow

# 显示 test 数据库的所有表
mysqlshow test

# 显示 students 表的结构
mysqlshow test students

2.6 mysqlimport 和 source

mysqlimport 工具

作用:快速导入数据文件到 MySQL 数据表。

案例

sql 复制代码
# 导入 students.csv 到 test 数据库的 students 表
mysqlimport --local -u root -p test students.csv
source 命令

作用:在 MySQL 客户端执行 SQL 文件。

案例

sql 复制代码
# 加载备份文件
source /path/to/backup.sql;

3. 总结

  • 系统数据库 提供数据库管理的基础。
  • 常见工具 为用户高效管理数据库和数据提供了丰富功能。
相关推荐
暗恋 懒羊羊11 分钟前
【MySQL】内置函数
数据库·mysql
杨江13 分钟前
SQL Server执行安装python环境
运维·服务器·数据库
Gauss松鼠会19 分钟前
GaussDB数据库事务管理:高可靠与高性能的实践之道
数据库·gaussdb
极小狐24 分钟前
极狐Gitlab 里程碑功能介绍
运维·数据库·安全·c#·gitlab
张哈大1 小时前
【Redis | 基础总结篇 】
数据库·redis·缓存
Python私教1 小时前
MongoDB常用操作示例
数据库·mongodb
cooldream20093 小时前
缓存与数据库的高效读写流程解析
数据库·缓存·系统架构师