首先,mysql的相关语句
备份mysql 需要调用mysql的 mysqldump 方法
语法是这样
mysqldump -u root -P 3306 abaijun > F:/data/mysql.sql
* -u是用户名
-p (小写的时候需要在额外输入一次密码)
-P (大写的之后可以直接带着密码,方便一条语句直接备份)
端口:-p后边要写上mysql的端口
数据库名:接着是要备份的数据库名
输出名字: 这里加上个箭头 > 然后写上输出的路径和文件名既可
此外,还有一些其他的详细参数
-B 指定多个库,会加上建库语句和 use 选库语句
--compact 去掉注释 适合输出生产
-A 备份多个库和表
-F 刷新二进制日志等同于 --fush-logs
-l 只读锁表
-d 只备份表结构
-t 只备份数据
--where 在导出数据的时候添加条件
由于这是个doc命令,所以要在node里边执行需要借助插件
child_process插件
npm install child-process -S
// 这里主要用child-process 的exec 方法,execSync 是同步的执行方法
const { execSync,exec } = require('child_process')
let tDate = new Date()
// 如果你没有吧mysqldump的路径加入到window的path里,那需要配置第二个参数 cwd ,在mysql/bin的文件夹里才可以正常执行
exec('mysqldump -u root -P 3306 abaijun > '+mysqlSave + tDate.getFullYear() + (tDate.getMonth() +1)+ tDate.getDate()+'.sql',{cwd: mysqlDir},(err, stdout, stderr) => {
if (err) {
console.log(err)
return
}
})