mysql备份与还原
备份
全量备份:mysqldump -uroot -p密码 -A > 备份文件路径.sql --set-gtid-purged=off
指定库备份(常用):mysqldump -uroot -p密码 库名 > 备份文件路径.sql --set-gtid-purged=off
多个库备份:mysqldump -uroot -p密码 -databases 库1 库2 ... > 备份文件路径.sql --set-gtid-purged=off
还原
mysqld -urrot -p进入mysql
设定传输时编码:set names utf8,三码需一致:服务器端+传输过程+客户端
- 还原全部:
- 方式一(常用):
source 备份文件路径 - 方式二:
mysql -uroot -p密码 < 备份文件路径 - 指定库:
mysql -uroot -p密码 库名 < 备份文件路径
建议写成bash定时任务:
- mysql_backup.sh
#!/bin/bash
remove_filename=data_`date -d "3 day ago" +"%Y-%m-%d"`.sql # 只保留3天记录
filename=data_`date +"%Y-%m-%d"`.sql
rm -f ~/mysqlDataBackup/$remove_filename
mysqldump --login-path=dump_path 数据库名 > ~/mysqlDataBackup/$filename --set-gtid-purged=off
关于--login-path=dump_path,点我查看
- crontab
0 0 * * * sh /path/to/your/shell_scripts.sh
mysqlDataBackup文件夹请提前创建
tips
- crontab定时任务
格式:分 时 日 月 周 命令
0 0 * * * /root/mysql_backup.sh,表示每天0点0时执行

浙公网安备 33010602011771号