MySQL——填坑5.6版本之后数据库备份不能在控制台输入命令问题

服务器部署了6个月左右了,想想也该做好数据备份了。毕竟做好数据库备份之后才有安全感。
目前服务器是nodejs语言,基于thinkjs框架,
方案如下:
1.命令:
basillee:Home imac$ mysqldump -u root -pyourpassword–databases yourdatabasename > backup.sql
2.文件压缩
3.设置定时任务,每天晚上3点半自动备份
4.上传到阿里云oss存储,设置90天的有效期

关于备份命令,不能在控制台输入命令问题如下:

basillee:Home imac$ mysqldump -u root -pyourpassword--databases yourdatabasename > backup.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

意思就是说,你不能直接在命令行上输入密码。
解决方案如下:
1.mac系统
输入mysql --help
有这么一行:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 

大概意思是,你可以在这些目录文件里面做一些选项操作。
如果没有,可以自己建立,我的就没有,然后我在/etc/下面建立了/etc/mysql/my.cnf文件。记得没权限使用sudo命令。
然后添加:

basillee:~ imac$ cat /etc/mysql/my.cnf 
[mysqldump]
user=root
password=yourpassword

然后就可以直接使用下面的命令备份了,不用带用户名和密码了。

basillee:Home imac$ mysqldump --databases yourdatabase > backup2.sql

2.windows
windows系统在mysql的安装目录,找到或者建立my.ini,然后添加

[mysqldump]
user=root
password=yourpassword

即可,然后执行

basillee:Home imac$ mysqldump --databases yourdatabase > backup2.sql

最后定时任务去上传到阿里云的代码比较简单,大家可以查看阿里云文档和thinkjs关于定时任务的文档。

猜你喜欢

转载自blog.csdn.net/u014132820/article/details/84890157