Command Palette

Search for a command to run...

MYSQL利用mysqldump工具备份数据库

MySQL 是博主最常使用的数据库,小应用啥的都是基于 MYSQL,服务器中配置数据库备份脚本很有必要,本文分享最近使用mysqldump工具进行备份的过程,这是一个非常强大的命令行工具,用于导出数据库的内容到一个文本文件中,这个文本文件可以是 SQL 文件,也可以是其他格式,比如 CSV。 备份方式 说明 备注 mysqldump 默认情况下仅备份:表,视图和触发器 默认不备份存储过程和事件,需要加配置参数,如果需要备份存储过程和事件,需要增加-ER参数,且dump用户需要增加show events的 Global Privilege binlog 有时间期限,可以配置,一般保留5天记录即可 mysqlpump 默认备份 表,视图,存储过程,存储函数,触发器,事件, MySQL 5.7及以上版本才支持 xtrabackup 需要重启数据库,恢复时需要清空数据库的数据目录,可以支持增量备份

v
vichiAuthor
2026年1月28日
Published On
0 Views
Statistics
对象存储Category

数据无价,多自动备份,定期全量备份

MySQL是博主最常使用的数据库,小应用啥的都是基于MYSQL,服务器中配置数据库备份脚本很有必要,本文分享最近使用mysqldump工具进行备份的过程,这是一个非常强大的命令行工具,用于导出数据库的内容到一个文本文件中,这个文本文件可以是SQL文件,也可以是其他格式,比如CSV。

常用的备份方式

备份方式说明备注
mysqldump默认情况下仅备份:表,视图和触发器默认不备份存储过程和事件,需要加配置参数,如果需要备份存储过程和事件,需要增加-ER参数,且dump用户需要增加show events的
Global Privilegebinlog 有时间期限,可以配置,一般保留5天记录即可
mysqlpump默认备份 表,视图,存储过程,存储函数,触发器,事件,MySQL 5.7及以上版本才支持
xtrabackup需要重启数据库,恢复时需要清空数据库的数据目录,可以支持增量备份只支持Linux

基于版本

MYSQL8.0.26 CentOS Linux release 8.5.2111

备份方法

1.备份所有数据库

language
mysqldump --all-databases -u [用户名] -p[密码] > alldb_backup_$(date +%F).sql

这里的[用户名][密码]需要替换成你的MySQL用户名和密码。>操作符将输出重定向到一个文件,文件名包含当前日期,以便于识别和管理。-p后的密码建议默认为空,根据系统提示输入密码,保证安全性。

2.逐个数据库备份

如果需要更细致地控制备份过程,或者某些数据库非常大,可以逐个备份数据库。博主编写以下脚本来实现:

编辑新建脚本

language
vim backup_all_dbs.sh

粘贴以下内容

language
#!/bin/bash USER="你的用户名" PASSWORD="你的密码" for DB in $( mysql -u$USER -p$PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|mysql|performance_schema|phpmyadmin)" ) do echo "Dumping $DB..." mysqldump -u$USER -p$PASSWORD $DB > "${DB}_$(date +%F).sql" done

这个脚本会遍历所有数据库,除了系统数据库(如mysqlinformation_schema等),然后逐个导出。

3.使用cron job自动化备份

如果你需要定期自动备份数据库,可以将上述脚本设置为cron job:

• 将脚本保存为backup_all_dbs.sh

• 给予执行权限:chmod +x backup_all_dbs.sh

• 编辑cron表:crontab -e

• 添加一行来设置备份时间,例如每天凌晨1点:0 1 * * * /path/to/backup_all_dbs.sh

确保替换/path/to/为你的脚本实际路径。

注意事项

• 确保你有足够的磁盘空间来存储备份文件。

• 定期检查备份文件的完整性和可用性。

• 考虑备份文件的安全性,特别是在包含敏感信息的数据库中。

Tags:#mysql

读者评论

评论 (0)

请先 登录 后发表评论

MYSQL利用mysqldump工具备份数据库 - Vichi Blog | Vichi Blog