mysql 数据备份和还原

  1. 使用mysqldump命令备份
    使用root用户备份test数据库下的person表
mysqldump -u root -p test person > D:\backup.sql
  1. 备份多个数据库
    语法:
mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql

加上了--databases选项,然后后面跟多个数据库

mysqldump -u root -p --databases test mysql > D:\backup.sql
  1. 备份所有数据库

mysqldump命令备份所有数据库的语法如下:

mysqldump -u username -p -all-databases > BackupName.sql

示例:

mysqldump -u -root -p -all-databases > D:\all.sql
  1. 还原使用mysqldump命令备份的数据库的语法如下:
mysql -u root -p [dbname] < backup.sq

示例:

mysql -u root -p < C:\backup.sql

脚本·

#!/bin/bash  
 
#1.定义数据库链接,目标库信息  
MY_user="root"  
MY_pass="123456"  
MY_host="192.168.10.22"  
MY_conn="-u $MY_user -p$MY_pass -h $MY_host"  
MY_db1="xxxx"  
MY_db2="yyyy" 
MY_db=('xxx' 'xxx' 'xxx')  
#2.定义备份目录,工具,时间,文件名  
BF_dir="/opt/mysql_bak"  
BF_cmd="/usr/bin/mysqldump"  
BF_time="date +%Y%m%d-%H%M"  
name_1="$MY_db1-$BF_time"  
name_2="$MY_db2-$Bf_time"  
#3先导出为.sql脚本,然后再进行压缩(打包后删除源文件)  
cd $BF_dir  
# for i in ${MY_db[@]};
# do
#  $BF_cmd $MY_conn --single-transaction --master-data=2 --databases $MY_db > $BF_dir/$i-$BF_time.sql
# done
$BF_cmd $MY_conn --databases $MY_db1 > $name_1.sql  
$BF_cmd $MY_conn --databases $MY_db2 > $name_2.sql  
/bin/tar zcf $name_1.tar.gz $name_1.sql --remove &> /dev/null  
/bin/tar zcf $name_2.tar.gz $name_2.sql --remove &> /dev/null 

转载于:https://www.cnblogs.com/magic-chenyang/p/10529253.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值