为MariaDB 10.3配置Automysqlbackup出现访问拒绝问题如何解决
Automysqlbackup 配置不生效问题解决方案
问题根因
- Automysqlbackup默认优先读取
/root/.my.cnf或/etc/mysql/my.cnf中[client]段的用户配置,你在/etc/default/automysqlbackup中设置的参数被覆盖 - 部分Debian/Ubuntu发行版的Automysqlbackup会优先加载
/etc/automysqlbackup/automysqlbackup.conf而非/etc/default/automysqlbackup,你修改的配置文件未被程序识别 - 原配置中读取debian系统默认MySQL账号的逻辑未完全失效,覆盖了手动设置的用户名密码
正确配置步骤
- 第一步:确认配置文件路径
运行命令automysqlbackup --help查看输出中标注的默认配置文件路径,优先修改提示的主配置文件。如果同时存在/etc/automysqlbackup/automysqlbackup.conf和/etc/default/automysqlbackup,优先修改前者。 - 第二步:确保账号密码配置生效
确认配置文件中读取debian系统账号的两行完全注释,手动设置的账号密码无前置#:# Username to access the MySQL server e.g. dbuser #USERNAME=`grep user /etc/mysql/debian.cnf | tail -n 1 | cut -d"=" -f2 | awk '{print $1}'` USERNAME=tutor_db # Username to access the MySQL server e.g. password #PASSWORD=`grep password /etc/mysql/debian.cnf | tail -n 1 | cut -d"=" -f2 | awk '{print $1}'` PASSWORD=rootpassword # Host name (or IP address) of MySQL server e.g localhost DBHOST=localhost - 第三步:禁止读取系统默认MySQL配置
在配置文件中找到CONFIG_mysql_dump_extra_options配置项,添加--no-defaults参数,强制mysqldump使用你在Automysqlbackup中配置的账号密码,避免被全局MySQL配置覆盖:
如有其他额外参数可直接追加:CONFIG_mysql_dump_extra_options="--no-defaults"CONFIG_mysql_dump_extra_options="--no-defaults --default-character-set=utf8mb4" - 第四步:验证数据库账号权限
登录MariaDB执行以下命令,确保tutor_db用户拥有备份所需的权限:GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'tutor_db'@'localhost' IDENTIFIED BY 'rootpassword'; FLUSH PRIVILEGES; - 第五步:测试备份功能
运行命令sudo automysqlbackup -v启动备份,-v参数会输出详细运行日志,可定位配置加载异常问题。
内容的提问来源于stack exchange,提问作者Herman
相关产品推荐
相关产品推荐

