首页 |  我的博客 |  查看该博主内容分类 | 

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时执行
posted @ 2022-10-15 18:36  Z哎呀  阅读(50)  评论(0)    收藏  举报