当前位置: 首页 > news >正文

MySQL 进阶知识点(十二)---- 管理

一、 系统数据库

MySQL 安装完成后,会自动创建以下系统数据库,它们存储了 MySQL 的元数据和管理信息。

数据库名称描述主要作用
mysql核心系统数据库存储用户账户、权限信息、存储过程、事件、时区等核心管理数据。不要随意修改
information_schema信息数据库提供访问数据库元数据(所有其他数据库、表、列、索引、权限等详细信息)的只读视图。是虚拟数据库,基于内存表。
performance_schema性能数据库用于收集数据库服务器性能数据,监控低级别的运行时执行信息,如内存使用、锁、SQL执行阶段等。
sys简化性能诊断数据库在 performance_schema 之上构建的一系列视图、函数和存储过程,旨在简化性能分析和故障诊断,以更易读的方式呈现信息。

示例用法:

-- 查看所有用户及主机 (mysql数据库)
SELECT user, host FROM mysql.user;-- 查看所有数据库的表信息 (information_schema数据库)
SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE 
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA = 'your_database_name';-- 查看内存使用情况 (sys数据库)
SELECT * FROM sys.memory_global_total;-- 查询最近执行缓慢的SQL (sys数据库)
SELECT * FROM sys.statements_with_sorting 
ORDER BY last_seen DESC LIMIT 5;

二、 常用工具

MySQL 提供了一系列命令行工具,用于数据库的管理、备份、维护等操作。

1. mysql (客户端连接工具)

最常用的命令行客户端,用于连接 MySQL 服务器并执行 SQL 语句。

# 基本连接
mysql -u root -p# 指定主机和端口连接
mysql -h 127.0.0.1 -P 3306 -u root -p# 连接并直接执行SQL命令
mysql -u root -p -e "SHOW DATABASES;"# 执行SQL脚本文件
mysql -u root -p database_name < script.sql# 连接时指定默认数据库
mysql -u root -p -D database_name
2. mysqladmin (管理工具)

用于执行管理操作的客户端,如创建数据库、查看服务器状态等。

# 检查服务器是否运行
mysqladmin -u root -p ping# 查看服务器状态和变量
mysqladmin -u root -p status
mysqladmin -u root -p variables# 关闭MySQL服务器
mysqladmin -u root -p shutdown# 创建数据库
mysqladmin -u root -p create new_database# 删除数据库  
mysqladmin -u root -p drop database_name# 刷新日志、权限等
mysqladmin -u root -p flush-privileges
mysqladmin -u root -p flush-logs
3. mysqldump (逻辑备份工具)

用于逻辑备份数据库,生成包含 SQL 语句的文本文件。

# 备份单个数据库
mysqldump -u root -p database_name > backup.sql# 备份所有数据库
mysqldump -u root -p --all-databases > all_backup.sql# 只备份数据库结构(无数据)
mysqldump -u root -p -d database_name > structure.sql# 只备份数据(无结构)
mysqldump -u root -p -t database_name > data.sql# 使用事务保证一致性(InnoDB)
mysqldump -u root -p --single-transaction database_name > backup.sql# 压缩备份
mysqldump -u root -p database_name | gzip > backup.sql.gz
4. mysqlimport / LOAD DATA (数据导入工具)

用于将文本文件数据导入到 MySQL 表中。

# 使用mysqlimport导入(对应mysqldump导出格式)
mysqlimport -u root -p database_name data.txt# 在mysql客户端中使用LOAD DATA命令
LOAD DATA LOCAL INFILE '/path/to/data.txt' 
INTO TABLE table_name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n';
5. mysqlcheck (表维护工具)

用于检查、修复、优化和分析数据库表。

# 检查表是否有错误
mysqlcheck -u root -p database_name# 修复表
mysqlcheck -u root -p --repair database_name# 优化表
mysqlcheck -u root -p --optimize database_name# 分析表(更新索引统计信息)
mysqlcheck -u root -p --analyze database_name# 检查所有数据库
mysqlcheck -u root -p --all-databases
6. mysqlshow (数据库对象查看工具)

快速查看数据库、表、列信息的工具。

# 显示所有数据库
mysqlshow -u root -p# 显示指定数据库的所有表
mysqlshow -u root -p database_name# 显示指定表的结构
mysqlshow -u root -p database_name table_name# 显示表的详细信息(包括列信息)
mysqlshow -u root -p --count database_name table_name
7. myisamchk (MyISAM表维护工具)

专门用于 MyISAM 存储引擎表的检查与修复(需要在服务停止或表锁定时使用)。

# 检查MyISAM表
myisamchk /path/to/table.MYI# 修复MyISAM表
myisamchk -r /path/to/table.MYI# 强制修复(用于严重损坏的情况)
myisamchk --safe-recover /path/to/table.MYI

三、 常用系统变量查询

-- 查看服务器状态
SHOW STATUS LIKE 'Connections%';  -- 查看连接数
SHOW STATUS LIKE 'Uptime%';       -- 查看服务器运行时间-- 查看系统变量
SHOW VARIABLES LIKE 'innodb_buffer_pool_size%';  -- 查看缓冲池大小
SHOW VARIABLES LIKE 'max_connections%';          -- 查看最大连接数-- 查看进程列表
SHOW PROCESSLIST;-- 查看当前锁信息
SHOW ENGINE INNODB STATUS;

小结

工具类别主要工具核心用途
客户端连接mysql连接服务器、执行SQL
系统管理mysqladmin服务器状态管理、关闭、刷新
备份恢复mysqldump逻辑备份、数据导出
数据导入mysqlimport批量数据导入
表维护mysqlcheck检查、修复、优化表
信息查看mysqlshow快速查看数据库对象信息

最佳实践建议

  1. 定期使用 mysqldump 进行数据备份

  2. 使用 mysqlcheck 定期维护表

  3. 通过 mysqladmin 监控服务器状态

  4. 利用 sys 和 performance_schema 进行性能分析

  5. 谨慎操作 mysql 系统数据库

http://www.dtcms.com/a/438116.html

相关文章:

  • C/C++贪吃蛇小游戏
  • 【Linux】多线程创建及封装
  • 苏州网站推广公司创业商机网餐饮
  • unity 读取PPT显示到屏幕功能
  • Django - 让开发变得简单高效的Web框架
  • C# 判断语句详解
  • 新建一个网站需要多少钱舟山专业做网站
  • JVM中的垃圾回收机制
  • 【计算机视觉】概述
  • 【第五章:计算机视觉-项目实战之生成对抗网络实战】2.基于SRGAN的图像超分辨率实战-(2)实战1:DCGAN模型搭建
  • 【精品资料鉴赏】大型企业网络安全整体解决方案
  • 重庆建设医院官方网站wordpress中文社区
  • [优选算法专题三.二分查找——NO.23搜索旋转排序数组中的最⼩值]
  • 【个人修养】商务礼仪教程
  • 报告派研读:2025年全球PC/主机游戏洞察报告
  • 用jquery做的书籍网站discuz做服务网站
  • Linux 驱动开发入门:LCD 驱动与内核机制详解
  • [Linux基础——Lesson9.调试器GDB]
  • 网站 推送中国万网域名官网
  • 主窗口(QMainWindow)如何放入文本编辑器(QPlainTextEdit)等继承自QWidget的对象--(重构版)
  • 和 AI 一起修 Bug 心得体会
  • 网站建设科技公司外部环境分析网站首页没有权重
  • 【大语言模型】—— Transformer的QKV及多头注意力机制图解解析
  • SYN VISION韩国发布会:获评非小号Alpha,战略合作PrompTale
  • 安徽工程建设造价信息网站html网站开发视频
  • 图书馆自习室|基于SSM的图书馆自习室座位预约小程序设计与实现(源码+数据库+文档)
  • Ollama 使用详解:本地部署大语言模型的指南
  • 手机上哪个网站浙江省嘉兴市建设局网站
  • 秒杀系统崩溃?Redis分片+Sentinel熔断架构设计指南
  • 【开题答辩全过程】以 J2EE技术在在线购物分享应用中的应用为例,包含答辩的问题和答案