mysql还原详解_mysql备份与还原详解

mysql备份与还原详解

一、tar备份:

1、备份数据库:

复制代码 代码如下:

/etc/rc.d/init.d/mysqld stop

tar cvfz phpbb2_db_20020601.tgz phpbb2

/etc/rc.d/init.d/mysqld start

2、还原数据库:

复制代码 代码如下:

/etc/rc.d/init.d/mysqld.stop

mv phpbb2 phpbb2_error

tar xvfz phpbb2_db_20020601.tgz

/etc/rc.d/init.d/mysqld.start

二、每日24:00自动备份数据库

利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。

1、创建保存备份文件的路径/mysqldata

#mkdir /mysqldata

2、创建/usr/sbin/bakmysql文件

查找数据库库文件的路径:

一般都是:/var/lib/mysql,或者,/usr/local/mysql/var

查找方法:

(1)、/usr/local/mysql/bin/mysql -u root -p   进入数据库

(2)、输入:show databases;

(3)、这是可以查看到所有的数据库,然后

(4)、find / -name db(你想查找的数据库名)

之后:#vi /usr/sbin/bakmysql 输入

复制代码 代码如下:

rq=` date +%Y%m%d `

tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql

保存退出。

3、修改文件属性,使其可执行

复制代码 代码如下:

# chmod +x /usr/sbin/bakmysql

新建任务:

首先查看一下crontab的任务列表:

crontab -l

然后新建:

crontab -e

添加一行

复制代码 代码如下:

00 04 * * * root /usr/sbin/bakmysql

表示每天24点钟执行备份

4、重新启动crond

复制代码 代码如下:

# /etc/rc.d/init.d/crond restart

完成。

这样每天你在/mysqldata可以看到这样的文件

mysql20040619.tar.gz

三、dump备份恢复

1、备份数据库:

复制代码 代码如下:

mysqladmin -uroot -p flush-logs     生成一个mysql-bin.00000X文件,最好定期执行

mysqldump phpbb2 --flush-logs -uroot -p --opt > phpbb2_20020601.sql

2、修改数据库,比如:

复制代码 代码如下:

mysql> create table name1 (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);

3、还原数据库:

复制代码 代码如下:

shell > mv phpbb2 phpbb2.bak

[root@bogon mysql]# mysql -uroot -p123456

mysql > create database phpbb2;

mysql> flush privileges;

shell > mysql phpbb2 -uroot -p123456 < phpbb2_20020601.sql

这是数据库已经还原回去了。理解:其实dump命令是导入导出数据库,对数据库命令进行记录,然后覆盖以后操作,就相当于命令重新执行了一便,已达到备份恢复的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值