Linux下mysql数据库备份方法

通过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=/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=/var/log/mysqlbackup.log
logtmp=/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

(0)

相关推荐

  • MySQL数据库备份方法

    我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么比数据 ...

  • sqlserver如何备份数据库(mysql数据库备份方法)

    [ucache灾备云]进行SQL Server自动化SQL Server数据库概述:SQL Server 是由Mircosoft开发和推广的关系数据库管理系统(DBMS).1996年,Microsof ...

  • Mysql数据库备份的几种方法

    数据备份是一个网站能够正常运营的保障,数据备份包括网站源码备份和数据库备份,如果你使用的是ACCESS数据库,那么直接使用FTP下载数据库文件就可以了,但如果你使用了PHP+MYSQL进行网站建设,数 ...

  • Linux下Sybase数据库安装注意的问题

    我们将介绍Linux下Sybase数据库安装注意的问题,包括安装地点的询问,安装之后进行优化的步骤等等。 首先使用root用户创建一个专有的sybase用户以及sybase的目录 然后切换到sybas ...

  • linux下Mysql的启动关闭的命令

    下面我来为各位介绍linux下Mysql的启动关闭的命令,有需要了解的朋友不防进入看看吧. linux下Mysql的启动关闭(本文基于centos6.4、mysql5.7.3),mysql安装在/us ...

  • linux下mysql允许外部远程访问配置

    mysql远程访问我们在网上看到最多的就是直接给mysql数据库授权了,但有一些朋友发现按此教程还是无法连接mysql了,下文小编为各位详细介绍一篇在linux下mysql允许外部远程访问配置 设置m ...

  • 如何用Visual Studio操作MySQL?在Visual Studio中连接MySQL数据库的方法

    MySQL是什么?如何用Visual Studio操作MySQL?MySQL是最流行的关系型数据库管理系统,在Web应用方面是最好的RDBMS应用软件之一,作为开放源码软件,可大大降低总体拥有成本.V ...

  • 解决linux下arp攻击的方法

    一般Windows用户可以使用antiArp防火墙,但是有些计算专业的朋友们由于工作或其他原因使用的是linux系统,那么linux下arp攻击怎么办呢?下面就是一位高手解决linux下arp攻击的方 ...

  • Linux下apache配置https方法教程

    Linux下apache怎么配置https访问,Linux下apache配置https方法教程,apache配置https方法步骤介绍. 操作方法 01 1.安装Openssl 要使Apache支持S ...