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

写好之后我们加一个定时任务即可每天或每小时备份了,Linux 定时任务设置方法详解:

时间: 2024-09-13 10:12:20

Linux下mysql数据库备份方法小结的相关文章

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 用

深入解析Linux下MySQL数据库的备份与还原_Mysql

深入解析Linux下MySQL数据库的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可. 2. 还原法一:[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>&

Linux下MySQL的备份与还原

Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可.2. 还原法一:[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1

Ubuntu Server下MySql数据库备份脚本代码

说明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录 mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data

Ubuntu Server下MySql数据库备份脚本代码_Mysql

说明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data/

mysql数据库备份方法

mysql教程数据库教程备份方法 mysql数据库备份方法有很多种,下面我们来一一介绍一下备份工具与直接在mysql.exe进行数据备份. 一.php教程myadmin最简单的了,   1.打开你的phpmyadmin   2.点击要备份的数据库或表   3.选择导出,数据库或数据备份完成了 二.用地国备份系统   1.方法很简单,去网上下载一个,然后进去产看说明 三.mysql自带的备份命令   1.e:>cd xamppmysqlbin e:xamppmysqlbin>mysql -u r

Linux中Oracle数据库备份方法

先来介绍一些不使用脚本我们直接使用命令备份与还原oracle数据库 Oracle数据备份: 步骤 1 备份用户数据. 1.使用linux系统下的数据库管理员账号连接linux终端. 2. 执行以下语句,创建"bak_dir"文件夹.  代码如下 复制代码  mkdir bak_dir 3. 执行以下语句,为"bak_dir"文件夹赋予读.写和执行权限.  代码如下 复制代码  chmod 777 bak_dir 4. 执行以下语句,以sysdba用户登录oracle

最简便的MySql数据库备份方法MySQLdump第1/2页_php模板

使用MYSQL进行数据库备份,有很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好.  一.数据备份捷径  因为这个方法没有得到官方正式文档的验证,我们暂称为试验吧.  目的:备份hostA主机中一个MySQL数据库TestA,并恢复到到hostB机中  试验环境:  操作系统:WinNT4.0,MySQL3.22.34,PHPMyAdmin 2.1.0 Chinaz  在hostA中安装MySQL数据库并建立Tes

使用dreamhost空间实现MYSQL数据库备份方法_Mysql

如何利用SSH(Shell)来备份和恢复MySQL数据库的方法 例如: 数据库参数为:: MySQL地址:mysql.dh.net MySQL名称:mysql_dbname MySQL用户:mysql_dbuser MySQL密码:mysql_dbpass 我要把数据库备份为bak.sql 步骤: 同样,使用windows系统自己带的telnet或者去下载一个putty来,登陆以后,一路cd到自己觉得合适的目录下(确认当前目录可写). 输入下面的命令: mysqldump -h mysql.dh