记录最近的需求及解决方法,mysql数据库备份及导入
因甲方环境原因导致不能使用navicat做定时备份
经过几天网上找一些大佬的文章,及自己的测试及修改完成了mysql导出,导入的脚本(此代码是自己根据现场环境测试后的,不代表一切环境)
导出代码:
@echo off
set host=127.0.0.1
set port=3306
set user=root
set pass=密码
set dbname=数据库表名
set backupfile=c:/databasebackup/%dbname%.sql
cd D:\mysql-5.7.33-winx64\bin
mysqldump -h%host% -u%user% -p%pass% --default-character-set=utf8 %dbname% -R --force> %backupfile%
最开始用的是每周备份一次,当时在sql文件名称前面加上一个日期
(然后做一个每周清理,后来发现用不上),因为每周备份会自动替换上一份文件,文件名称前面也就不用加时间了
为什么要写脚本导入(一:因为甲方不是专业的用户,二:数据库中actviti有二进制的数据,直接在navicat中是导入不进去的)
导入代码
cd D:\mysql-5.7.23-winx64\bin
mysql -u root -p123456 --default-character-set=utf8 数据库名称<C:\databasebackup\xxxx.sql
echo import sucess!
pause