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

文档解释

Error number: MY-013276; Symbol: ER_CANT_SET_DATA_DIR; SQLSTATE: HY000

Message: Failed to set datadir to \’%s\’ (OS errno: %d – %s)

错误说明

ER_CANT_SET_DATA_DIR,出现该错误是表明 MySQL 尝试更新数据库目录但没有成功。 该报错代码的官方描述为:

“Can’t set data dir to ‘%s’”,即「无法将数据目录设置为 ‘%s’」 。

该错误一般伴随着error number为 MY-013277 的错误,此错误提示 “Can’t create directory ‘%s’”,即「无法创建目录 ‘%s’」 。

常见案例

当MySQL使用非root用户运行时,遇到此错误很有可能是由于文件/文件夹权限没有设置正确引起的。

运行 chown root:root 或 chown mysql:mysql相关的文件和文件夹,能够改善此问题。

此外,如果MySQL不支持/datadir 设置 时也可能会出现此报错。

解决方法

常见案例

如果MySQL不支持/datadir 设置 ,则需要先使用软件工具来检查/datadir设置以及检查是否能够读取MySQL文件作为特定用户。在特定情况下,可以使用新的MySQL用户(比如‘mysqlroot’)的文件权限来解决。

重要的是要注意MySQL用户的文件权限设置。也可以使用命令行解决一些权限问题,例如:

$ sudo chown -R root:root /datadir

$ sudo chown -R mysql:mysql /datadir

最后,用户也可以使用 root 用户或新创建的用户启动MySQL服务,那么就可以正常使用MySQL了。


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