在windows系统下,用含mysqldump脚本,将某ip主机下指定的多个数据库,定时备份为独立sql文件。
- 安装MySQL8
MySQL8.0.15安装教程
- 缺一步mysql初始化后的安装:
mysqld --install
- MySQL8的mysqldump语句需要添加新参数
--column-statistics=0
。或在mysql8安装根目录的my.ini配置文件增加2行:
[mysqldump]
column-statistics=0
-
D:/db_backup
下创建脚本文件backup_db.bat
参数 | 注释 | 示例 |
---|---|---|
/ | 数据库名称 | db1,db2,……,dbn |
/ | 数据库备份文件夹 | D:\db_backup\ |
-h | 主机ip地址 | localhost |
-u | 用户名 | root |
-p | 密码 | 123456 |
%Ymd% | 系统年月日 | 20190409 |
md bk_%Ymd% | 创建文件夹 | bk_20190409 |
db1_%Ymd%.sql | sql文件名 | db1_20190409.sql |
将要备份的数据库独占一行写入,其中information_schema
是MySQL 自带的信息数据库,不写入脚本。内容如下:
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
md bk_%Ymd%
mysqldump --opt -h localhost -uroot --default-character-set=utf8 -p123456 db1 > D:/db_backup/bk_%Ymd%/db1_%Ymd%.sql
mysqldump --opt -h localhost -uroot --default-character-set=utf8 -p123456 db2 > D:/db_backup/bk_%Ymd%/db2_%Ymd%.sql
@echo on
- 设定Windows计划任务
见设定Windows任务,将D:\125db_backup\backup_db.bat
设为每周运行一次。
再来配置需要执行的“操作”,就是选择所写的程序或是BAT文件,这里很重要的配置是选择BAT文件后,在“起始于(可选)”这里一定要填写相应执行程序或是BAT文件的所在目录,要不然是执行不成功的。[4]
参考资料
[1] MySQL8.0.15安装教程 https://www.jianshu.com/p/647a596cb251
[2] Mysql8.0 mysqldump 报错:Unknown table 'COLUMN_STATISTICS' in information_schema (1109) https://blog.csdn.net/MK_chan/article/details/85234736
[3] 在Windows环境下使用MySQL:实现自动定时备份 https://www.jb51.net/article/131471.htm
[4] Windows通过计划任务定时执行bat文件 https://blog.csdn.net/qq1049/article/details/78676504相关阅读
[1] 菜鸟教程 MySQL 导出数据 http://www.runoob.com/mysql/mysql-database-export.html
[2] mysqldump 百度百科 https://baike.baidu.com/item/mysqldump/1204291
[3] MySQL 命令行工具之 mysqldump 深入研究 http://www.cnblogs.com/digdeep/p/4898622.html
[4] mysqldump 逻辑备份的正确姿势 https://www.cnblogs.com/digdeep/p/4906032.html