mysql定时备份

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/天,具体规则查看活动详情Blog Img