windows下mysql备份脚本

 

公司有个需求,要天天备份下一个即时通软件的Mysql数据库,下面是我写的运行在windows下的版本文件。设置个定时任务,没事让它本身背就能够了。mysql

D:sql

cd  D:\test数据库

rem 设置变量:备份文件名windows

SET BAK_FILE=%date:~0,4%%date:~5,2%%date:~8,2%服务器

rem 设置变量:日志文件名app

SET LOG_FILE=MY_DBBAK.logide

SET RAR_CMD="C:\Program Files\WinRAR\Rar.exe"spa

rem 记录日志日志

echo "%date%" 》 %LOG_FILE%code

rem 开始作备份

mysqldump  -h localhost -u root -pmasicong --single-transaction  -databases masicong zhangwang >  %BAK_FILE%.sql

rem 压缩备份文件

%RAR_CMD% a %BAK_FILE%.rar %BAK_FILE%.sql

rem 删除源文件

del /F %BAK_FILE%.sql

PAUSE

--------------------------------------------------------------

 

备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式 
备份MySQL数据库为带删除表的格式,可以让该备份覆盖已有数据库而不须要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上全部数据库

mysqldump –all-databases > allbackupfile.sql

还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
 
  几个经常使用用例:

1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p dataname >dataname.sql 
这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中.

2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u root -p dataname users> dataname_users.sql

3.导出一个数据库结构
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:/wcnc_db.sql 
-d 没有数据 –add-drop-table 在每一个create语句以前增长一个drop table

4.导入数据库
经常使用source 命令
进入mysql数据库控制台,
如mysql -u root -p

mysql>use 数据库

而后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source d:/wcnc_db.sql