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. 总结

  • 系统数据库 提供数据库管理的基础。
  • 常见工具 为用户高效管理数据库和数据提供了丰富功能。
相关推荐
bjzhang7525 分钟前
若依微服务中配置 MySQL + DM 多数据源
mysql·多数据源·若依·dm数据库
Light6030 分钟前
从混沌到清晰:全面解析非结构化数据治理!
数据库·数据挖掘·数据安全·数据资产·非结构化数据
浩浩测试一下1 小时前
渗透测试之SQLMAP工具详解 kali自带SQLmap解释 重点sqlmap --tamper 使用方式详解 搞完你就很nice了
数据库·安全·web安全·网络安全·系统安全·安全架构
奥顺1 小时前
从零开始:PHP基础教程系列-第3篇:控制结构:条件语句与循环
大数据·mysql·开源·php
数据的世界011 小时前
SQL中的分组数据
数据库·sql
Json_181790144801 小时前
API接口示例:电商商品评论数据
服务器·前端·数据库
明达技术1 小时前
MBox20网关助力汽车零部件企业实现与效率飞跃
运维·网络·数据库
Jelena技术达人2 小时前
1688接口探索:商品详情和关键字搜索API接口
前端·数据库
grasperp2 小时前
管家婆工贸ERP PB001.MRP分仓计算在订量
数据库·制造·个人开发
rundreamsFly2 小时前
【大模型】PostgreSQL是向量数据库吗
数据库·postgresql·向量数据库