在Ubuntu上备份和恢复MySQL数据库可以通过多种方法实现,以下是一些常用的方法:
mysqldump
工具登录到MySQL服务器:
mysql -u username -p
输入密码后进入MySQL命令行界面。
备份数据库:
mysqldump -u username -p database_name > backup_file.sql
例如:
mysqldump -u root -p mydatabase > mydatabase_backup.sql
系统会提示输入密码,输入后开始备份。
tar
压缩备份文件mysqldump -u username -p database_name | gzip > backup_file.sql.gz
mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz
mysql
工具恢复登录到MySQL服务器:
mysql -u username -p
输入密码后进入MySQL命令行界面。
恢复数据库:
mysql -u username -p database_name < backup_file.sql
例如:
mysql -u root -p mydatabase < mydatabase_backup.sql
gunzip
解压缩并恢复解压缩备份文件:
gunzip backup_file.sql.gz
恢复数据库:
mysql -u username -p database_name < backup_file.sql
例如:
gunzip mydatabase_backup.sql.gz
mysql -u root -p mydatabase < mydatabase_backup.sql
你可以编写一个简单的脚本来自动化备份过程。以下是一个示例脚本:
#!/bin/bash
# 设置变量
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_DIR="/path/to/backup/directory"
DATABASE_NAME="your_database_name"
USERNAME="your_username"
PASSWORD="your_password"
# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR
# 执行备份
mysqldump -u $USERNAME -p$PASSWORD $DATABASE_NAME | gzip > $BACKUP_DIR/$DATABASE_NAME-$DATE.sql.gz
# 删除7天前的备份文件
find $BACKUP_DIR -type f -name "*.sql.gz" -mtime +7 -exec rm {} \;
将上述脚本保存为backup_mysql.sh
,然后赋予执行权限并运行:
chmod +x backup_mysql.sh
./backup_mysql.sh
通过以上方法,你可以在Ubuntu上轻松地备份和恢复MySQL数据库。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>