在 CentOS 上备份 MySQL 8 数据,可以使用 mysqldump
工具。以下是详细步骤:
首先,确保你已经安装了 MySQL 客户端工具。如果没有安装,可以使用以下命令进行安装:
sudo yum install mysql-client
mysqldump
备份数据mysqldump
是一个用于备份 MySQL 数据库的命令行工具。基本语法如下:
mysqldump -u [username] -p[password] --databases [database_name] > backup_file.sql
其中:
-u
或 --user
:指定 MySQL 用户名。-p
或 --password
:指定 MySQL 密码(注意密码紧跟在 -p
后面,没有空格)。--databases
:指定要备份的数据库名称。>
:将输出重定向到文件。假设你要备份名为 mydatabase
的数据库,用户名为 myuser
,密码为 mypassword
,可以执行以下命令:
mysqldump -u myuser -pmypassword --databases mydatabase > mydatabase_backup.sql
在执行此命令时,系统会提示你输入密码。
为了节省存储空间和提高备份传输的效率,可以将备份文件压缩。使用 gzip
进行压缩:
mysqldump -u myuser -pmypassword --databases mydatabase | gzip > mydatabase_backup.sql.gz
你可以将备份文件传输到其他服务器或存储介质上。例如,使用 scp
将备份文件传输到远程服务器:
scp mydatabase_backup.sql.gz user@remote_host:/path/to/destination
为了定期备份数据库,可以使用 cron
定时任务。编辑 crontab
文件:
crontab -e
添加以下行以每天凌晨 2 点执行备份脚本(假设备份脚本名为 backup_mysql.sh
):
0 2 * * * /path/to/backup_mysql.sh
创建备份脚本 backup_mysql.sh
:
#!/bin/bash
# 备份数据库
mysqldump -u myuser -pmypassword --databases mydatabase > /path/to/mydatabase_backup.sql
# 压缩备份文件
gzip /path/to/mydatabase_backup.sql
# 删除旧的备份文件(可选)
find /path/to/backups -type f -mtime +7 -name "*.sql.gz" -exec rm {} \;
确保脚本有可执行权限:
chmod +x /path/to/backup_mysql.sh
通过以上步骤,你可以在 CentOS 上定期备份 MySQL 8 数据。