MySQL数据库的备份及恢复
2006-01-21 08:45
519 查看
MySQL数据库的备份及恢复完全可以在B/S下实现,其他数据库也是,这是肯定的,但是怎么实现呢?
首先,建两个个bat文件或者cmd文件(bat可在98及NT下执行,cmd只能在NT下执行),
备份:
rem 判断mysql服务是否启动,然后将查询结果输出到server.log文件里
netstat -na | (find "0.0.0.0:3306" & find "LISTENING")>server.log
rem 手工建立一个空的文件temp.log,为了和server.log文件相比较
rem 将server.log与temp.log相比较,如果mysql服务已经启动,那么server.log文件中就会有信息。否则为空
rem 如果mysql服务已经启动,那么就直接用mysqldump进行备份;如果没有启动,也就是server.log文件为空,那么就会先启动数据库,然后再备份
fc server.log temp.log
if ERRORLEVEL = = 0 goto backup
@echo Trying to 启动mysql服务 …………OK
net start mysql5
:backup
@echo mysql服务已经启动,正在备份...
cd ../back
set DBBACK_HOME=%cd%
cd ../service/mysql/bin
mysqldump -uroot -piamtop wcpmis > %DBBACK_HOME%/back_%date:~0,10%.sql
if ERRORLEVEL = = 0 echo 数据库备份完成!
恢复:
rem 判断mysql服务是否启动,然后将查询结果输出到server.log文件里
netstat -na | (find "0.0.0.0:3309" & find "LISTENING")>server.log
rem 手工建立一个空的文件temp.log,为了和server.log文件相比较
rem 将server.log与temp.log相比较,如果mysql服务已经启动,那么server.log文件中就会有信息。否则为空
rem 如果mysql服务已经启动,那么就直接用mysqldump进行备份;如果没有启动,也就是server.log文件为空,那么就会先启动数据库,然后再备份
fc server.log temp.log
if ERRORLEVEL = = 0 goto backup
@echo Trying to 启动mysql服务 …………OK
net start mysql
:backup
@echo mysql服务已经启动,正在恢复...
cd ../back
set DBBACK_HOME=%cd%
cd ../service/mysql/bin
mysql -uroot -piamtop wcpmis < %DBBACK_HOME%/back_%date:~0,10%.sql
if ERRORLEVEL = = 0 echo 数据库恢复完成!
用来进行备份/恢复数据库,然后在程序中:
try {
String path = request.getRealPath("/");
String file = path +"database//dbBackup.cmd";
Process p = Runtime.getRuntime().exec("cmd /k start "+file);
log.error(p.getInputStream());
log.error(p.getErrorStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
即可。
附:MySQL备份/恢复所有数据库
C:/temp/TopSoft/service/mysql/bin>mysqldump -uroot -p1234 --opt --all-database
s > test.sql
C:/temp/TopSoft/service/mysql/bin>mysql -uroot -p1234 <test.sql
C:/temp/TopSoft/service/mysql/bin>
首先,建两个个bat文件或者cmd文件(bat可在98及NT下执行,cmd只能在NT下执行),
备份:
rem 判断mysql服务是否启动,然后将查询结果输出到server.log文件里
netstat -na | (find "0.0.0.0:3306" & find "LISTENING")>server.log
rem 手工建立一个空的文件temp.log,为了和server.log文件相比较
rem 将server.log与temp.log相比较,如果mysql服务已经启动,那么server.log文件中就会有信息。否则为空
rem 如果mysql服务已经启动,那么就直接用mysqldump进行备份;如果没有启动,也就是server.log文件为空,那么就会先启动数据库,然后再备份
fc server.log temp.log
if ERRORLEVEL = = 0 goto backup
@echo Trying to 启动mysql服务 …………OK
net start mysql5
:backup
@echo mysql服务已经启动,正在备份...
cd ../back
set DBBACK_HOME=%cd%
cd ../service/mysql/bin
mysqldump -uroot -piamtop wcpmis > %DBBACK_HOME%/back_%date:~0,10%.sql
if ERRORLEVEL = = 0 echo 数据库备份完成!
恢复:
rem 判断mysql服务是否启动,然后将查询结果输出到server.log文件里
netstat -na | (find "0.0.0.0:3309" & find "LISTENING")>server.log
rem 手工建立一个空的文件temp.log,为了和server.log文件相比较
rem 将server.log与temp.log相比较,如果mysql服务已经启动,那么server.log文件中就会有信息。否则为空
rem 如果mysql服务已经启动,那么就直接用mysqldump进行备份;如果没有启动,也就是server.log文件为空,那么就会先启动数据库,然后再备份
fc server.log temp.log
if ERRORLEVEL = = 0 goto backup
@echo Trying to 启动mysql服务 …………OK
net start mysql
:backup
@echo mysql服务已经启动,正在恢复...
cd ../back
set DBBACK_HOME=%cd%
cd ../service/mysql/bin
mysql -uroot -piamtop wcpmis < %DBBACK_HOME%/back_%date:~0,10%.sql
if ERRORLEVEL = = 0 echo 数据库恢复完成!
用来进行备份/恢复数据库,然后在程序中:
try {
String path = request.getRealPath("/");
String file = path +"database//dbBackup.cmd";
Process p = Runtime.getRuntime().exec("cmd /k start "+file);
log.error(p.getInputStream());
log.error(p.getErrorStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
即可。
附:MySQL备份/恢复所有数据库
C:/temp/TopSoft/service/mysql/bin>mysqldump -uroot -p1234 --opt --all-database
s > test.sql
C:/temp/TopSoft/service/mysql/bin>mysql -uroot -p1234 <test.sql
C:/temp/TopSoft/service/mysql/bin>
相关文章推荐
- MYSQL数据库无增量备份恢复的经历
- MySql数据库的备份与恢复
- 如何使用sql语句备份和恢复mysql数据库
- MySQL数据库的数据备份和恢复(导入和导出)命令操作语法
- 如何使用java程序备份和恢复MySql数据库?
- MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复)
- Mysqldump备份和恢复mysql数据库
- MySQL数据库备份与恢复方法
- MySQL数据库备份与恢复
- Linux系统下MySQL数据库的备份和恢复
- Linux下Mysql数据库备份和恢复全攻略
- Mysql数据库的备份与恢复
- mysql数据库的数据备份和恢复
- mysql数据库命令大全---完全备份和恢复
- 通过java备份恢复mysql数据库的实现代码
- MySql数据库的备份和恢复
- 第四章:MySQL数据库的备份与恢复
- mysql数据库的备份与恢复
- 用MySQL-zrm来备份和恢复MySQL数据库
- MySQL数据库的备份和恢复