当前位置: 首页 >> MySQL >> 【备份】通过mysql提供的功能 导出 命令: mysqldump -u 用户名 -p 数据库 数据库.sql >> 正文

【备份】通过mysql提供的功能 导出 命令: mysqldump -u 用户名 -p 数据库 数据库.sql

4年前 (2020-05-14)     作者:Jiaozn     分类:MySQL     阅读次数:1809     评论(0)    

通过mysql提供的功能

  导出

  命令:

  mysqldump -u 用户名 -p 数据库 > 数据库.sql

  示例:

 代码如下   复制代码  

mysqldump -u root -p db1 > db1.sql(将数据库db1备份到db1.sql中)

 

  提示输入密码,完成即可。

  导入

  需要先创建一个空数据库

  mysql -u root -p(输入密码后进入mysql)

  create database db1;(创建一个名为db1的数据库)

  exit(退出mysql)

  命令:

  mysql -u 用户名 -p 数据库 < 数据库.sql

  示例:

 代码如下   复制代码  

mysql -u root -p db1 < db1.sql(从备份文件db1.sql中导入数据到数据库db1中)

 

  提示输入密码,完成即可。

  通过拷贝文件

  如果数据库特别大,可以使用拷贝的方式进行备份,不过不同的操作系统间可能会导致不兼容。

  导出

  进入mysql目录,打包需要备份的数据库目录

  示例:

 代码如下   复制代码  

cd /var/lib/mysql(进入mysql目录)
tar -zcvf db1.tar.gz db1(打包db1目录,如果提示没有权限,在前面加上sudo,提示输入密码后即可)

 

  导入

  首先创建一个空数据库,将打包的文件拷贝到mysql目录后解压

  示例:

 代码如下   复制代码  


mysql -u root -p(输入密码后进入mysql)
create database db1;(创建一个名为db1的数据库)
exit(退出mysql)
cp db1.tar.gz /var/lib/mysql(将打包文件拷贝到mysql目录下)
cd /var/lib/mysql(进入mysql目录)
tar -zxvf db1.tar.gz(解压到当前目录)

 

  后现在linux中脚本

 代码如下   复制代码  

#!/bin/bash
#Mysql autobackup shell#write by tuspark.cn
#-------------------数据库相关的用户名、密码、需要备份的数据库名、备份目录等
dbuser=root
dbpasswd=XXXXX
dbserver=localhost
dbname=XXXXX
dbopt=--opt
backupdir=http://www.3lian.com/dcbackup/
#-------------------是否开启FTP远程备份,0为否,1为是。
copytoftp=1
ftpserver=XXXXX
ftpuser=XXXXX
ftppasswd=XXXXX
#-------------------以下参数
fileprefix=dcradiusdump
filename=$backupdir`date +%F`.sql
newfile=$fileprefix-`date +%F`.tar.gz
keepdays=10
#-------------------以下为备份时的日志
logfile=http://www.3lian.com/var/log/mysqlbackup.log
logtmp=http://www.3lian.com/var/log/mybackup.tmp
#===============================================
if [ ! -d $backupdir ]
then
echo "$backupdir is not exist, then make ..." >> $logfile
mkdir -p $backupdir
fi
echo "start====================================>">>$logfile
echo "Beginning backup `date '+%F %T'`" >>$logfile
echo "Delete $keepdays days ago files ..." >>$logfile
find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} ;
echo "Deleted Backup file is :">>$logfile
cat $logtmp >>$logfile
echo "Delete old file Success!" >>$logfile
if [ -f $backupdir$newfile ]
then
echo "$newfile backup exist, backup stop ..." >>$logfile
else
if [ -z $dbpasswd ]
then
mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
else
mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
fi
tar czvf $backupdir$newfile $dumpfilename >>$logfile 2>&1
echo "$backupdir$newfile Backup Success!" >>$logfile
rm -fr $dumpfilename
if [ $copytoftp = 1 ]; then
if [ -z $ftpserver ];then
echo "Ftp Server not set,Copy to Ftp Failed ..." >>$logfile
exit 1
elif [ -z $ftpuser ];then
echo "Ftp user not set, Copy to Ftp Failed ..." >>$logfile
exit 2
elif [ -z $ftppasswd ]; then
echo "Ftp password not set, Copy to Ftp Failed ..." >>$logfile
exit 3
else
echo "Start copy to Ftp server ...." >> $logfile
ftp -n>$logfile
fi


除非注明,发表在“Jiaozn的博客”的文章『【备份】通过mysql提供的功能 导出 命令: mysqldump -u 用户名 -p 数据库 数据库.sql 』版权归Jiaozn所有。 转载请注明出处为“本文转载于『Jiaozn的博客』原地址https://www.jiaozn.com/reed/580.html
0

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站

分享:

支付宝

微信