MySQL Error number: MY-011806; Symbol: ER_SYSTEMD_NOTIFY_PATH_TOO_LONG; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: MY-011806; Symbol: ER_SYSTEMD_NOTIFY_PATH_TOO_LONG; SQLSTATE: HY000

Message: The path ‘%s’, from the NOTIFY_SOCKET environment variable, is too long. At %u bytes it exceeds the limit of %u bytes for an AF_UNIX socket.

错误说明

ER_SYSTEMD_NOTIFY_PATH_TOO_LONG,是MySQL抛出的一个errno,它的原因是在使用systemd通知时,向守护进程MySQL注册的路径字符串超过了255个字符。这是由于systemd通知不支持超过255个字符的路径。

常见案例

这个错误在MySQL早期版本中并不常见,一般出现在MySQL版本为 8.0.13 或者更新版本。当使用systemd通知MySQL时,会遇到这个错误,如果当前服务器中存在很多MySQL服务,每个服务都试图使用systemd通知,注册他们到守护进程时,会因为路径太长而抛出这个错误。

解决方法

要解决这个错误,可以通过更改MySQL配置文件的两个参数来缩短注册的路径字符串。第一个参数是主机名,可以通过将其设置为短的字符串来缩短路径字符串。第二个参数是datadir(数据存放目录),可以通过将数据存放路径设置较短的路径,从而将路径字符串缩短至255以下。此外,还可以更改系统的tmpdir参数,以缩短路径字符串的长度。


数据运维技术 » MySQL Error number: MY-011806; Symbol: ER_SYSTEMD_NOTIFY_PATH_TOO_LONG; SQLSTATE: HY000 报错 故障修复 远程处理