公司有个需求,要天天备份下一个即时通软件的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数据库的命令
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,可以让该备份覆盖已有数据库而不须要手动删除原有数据库。
直接将MySQL数据库压缩备份
备份MySQL数据库某个(些)表
同时备份多个MySQL数据库
仅仅备份数据库结构
备份服务器上全部数据库
还原MySQL数据库的命令
还原压缩的MySQL数据库
将数据库转移到新服务器
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