MySQL安装完成后,默认会自带几个系统数据库,如 mysql、information_schema、performance_schema,有时还有sys。这些数据库存储了用户权限、系统信息和性能监控数据,尤其是 mysql 数据库非常重要,建议在初始化配置后及时备份。
1. 确认需要备份的默认数据库
通常应重点备份以下数据库:
mysql:包含用户账户、权限、角色等关键信息 sys:基于 performance_schema 的视图集合,便于管理(如有自定义修改)information_schema 和 performance_schema 是虚拟数据库,无需备份。
2. 使用 mysqldump 备份系统数据库
通过命令行工具 mysqldump 可以导出数据库结构和数据。以下是备份关键数据库的方法:
备份 mysql 数据库(推荐):
mysqldump -u root -p --single-transaction --routines --triggers mysql > backup_mysql.sql备份 sys 数据库(如有修改):
mysqldump -u root -p sys > backup_sys.sql同时备份多个数据库:
mysqldump -u root -p --databases mysql sys > backup_system_dbs.sql
参数说明:
--single-transaction:保证一致性,避免锁表(适用于 InnoDB) --routines:包含存储过程和函数 --triggers:包含触发器 --databases:指定多个数据库,导出时包含 CREATE DATABASE 语句3. 定期备份建议
在完成用户创建、权限分配或配置变更后,立即执行一次备份。可编写简单脚本自动执行:
#!/bin/bash mysqldump -u root -p你的密码 --single-transaction --routines --triggers mysql > /backup/mysql_$(date +%F).sql
将备份文件存放到安全目录,并定期归档。
4. 恢复方法示例
若需恢复 mysql 数据库:
mysql -u root -p mysql < backup_mysql.sql
注意:恢复 mysql 表时建议停止 MySQL 服务,或使用特殊模式(如 skip-grant-tables)防止冲突。
基本上就这些。关键是及时备份 mysql 库,保障权限信息不丢失。操作简单但容易忽略。
