前端时间宝塔面板的计划任务里面的数据库备份不好用了,一直出现20b的问题,自己各种百度各种研究,看了宝塔内置的数据库备份脚本(python文件),发现使用了mysqldump进行了导出备份至目录并进行了压缩。
关于备份文件的代码就不做过多的描述了,后来问题也处理了,是因为数据库的user表内没有localhost账户,创建了就好了。
第二天又想起来了mysqldump这个备份代码了,想在本地运行看看效果怎么样?之前没有使用过,以前写的备份都是基于mysql语句操作的,以为mysqldump也是在mysql中跑的东西呢,无知啊,然后放到mysql里面没有提示,各种报错,哈哈哈哈哈~~~~~~~~
今天再次进行摸索,后来知道了windows环境在cmd中运行,完美的处理了运行的问题,接下来就是提示如下错误:
'mysqldump' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
哈哈,又是报错,想加环境变量,后来又算了,直接在mysql的目录里运行吧,就在mysql的安装目录bin目录下(mysqldump.exe同级文件夹)运行mysqldump -u root -p databaseName > D:\backup\demo.sql,然后提示输入密码,接着就导出成功了。
在这期间也遇到了报错,原因是在-u root -p 密码 ,在此处输入了密码,这种方式和宝塔里面的是相同的,但是没有注意到密码位置是需要使用双引号进行包裹的,要不然就提示你密码错误。都是坑啊!!
在win10的cmd命令行模式下同样的目录,使用非双引号包裹的密码也好用:
E:\BtSoft\WebSoft\mysql\MySQL5.5\bin>mysqldump -uroot -pshenlin blog > E:\BtSoft\backup\demo.sql
暂时不知道是什么原因,有时间继续深入研究吧,不得不说备份数据的速度还是非常快的。