windows下mysql备份脚本


公司有个需求,要每天备份下一个即时通软件的Mysql数据库,下面是我写的运行在windows下的版本文件。设置个定时任务,没事让它自己背就可以了。
D:
cdD:\test
rem 设置变量:备份文件名
SET BAK_FILE=%date:~0,4%%date:~5,2%%date:~8,2%
rem 设置变量:日志文件名
SET LOG_FILE=MY_DBBAK.log
SET RAR_CMD="C:\Program Files\WinRAR\Rar.exe"
rem 记录日志
echo "%date%" 》 %LOG_FILE%
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

【windows下mysql备份脚本】

    推荐阅读