1,首先创建文件autobackupmysql.sh,并且设置为可执行文件
chmod +x autobackupmysql.sh
2,写入如下内容
mysqldump --defaults-extra-file=/xxx/xxx/mysql.cnf 导出的数据库名> 导出的数据库文件名
如果不写defaults-extra-file,而是使用常规的 -u -p 来导出,会报安全异常
3,在mysql.cnf中写入如下命令
[client]
user = 用户
password = 密码
host = 127.0.0.1
4,如果执行autobackupmysql.sh,提示下面的错误
[xxx@xxx mysql]$ ./autobackupmysql.sh
mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces
可以执行如下语句解决
4.1:用户只有本机可以访问的执行如下命令授权PROCESS 权限
GRANT PROCESS ON *.* TO '数据库用户名'@'localhost';
flush privileges;
4.2:用户全局可以访问的执行如下命令授权PROCESS 权限
GRANT PROCESS ON *.* TO '数据库用户名'@'%';
flush privileges;
5,配置执行命令crontab -e ,将以下代码写入
30 01 * * * /xxx/xxx/mysql/autobackupmysql.sh
6,完毕。
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情