AnyBackup-Linux 环境下 MySQL 展开数据源失败,提示错误信息:Can't connect to local MySQL server through socket '/tmp/my
关键字
socket
适用产品
- AnyBackup 5.0.x
- AnyBackup 6.0.x
问题描述
AnyBackup 新建 MySQL 备份任务过程中,展开数据源时,提示如下错误信息:
Can't connect to local MySQL server through socket '/tmp/mysql.sock'

问题影响
AnyBackup 新建 MySQL 定时备份任务失败。
问题原因
AnyBackup 展开数据源时会使用 /tmp 目录下的 mysql.sock 文件连接数据库,当 /tmp 目录下 mysql.sock 文件不存在时,则无法连接数据库。
解决方案
为了解决此问题,需要查询 mysql.sock 文件的位置,并对查询到的 mysql.sock 文件创建软链接到 /tmp 目录。请按照以下步骤执行:
1. 通过 SSH 工具登录 MySQL 服务器,执行以下命令,登录数据库查询 socket 文件位置。
mysql -u
root -p
show
variables like 'socket' 
2. 执行如下命令,根据第 1 步中查询的结果创建 socket 文件链接,并查看链接文件是否正常,如下图所示,创建的链接文件指向原 socket 文件位置,表示链接文件正常。
ln -s
/var/lib/mysql/mysql.sock /tmp/mysql.sock
ls -l
/tmp/mysql.sock
注意:示例中 MySQL 数据库 socket 文件在 /var/lib/mysql/ 目录下,具体以实际情况为准。
3. 登录 AnyBackup 管理控制台,重新创建 MySQL 定时备份任务。
更多信息
关于 ln 命令的更多信息,请参考 Linux 官方网站:Understanding
Linux Links: Part 1,Understanding
Linux Links: Part 2。