Error number: 3679; Symbol: ER_SCHEMA_DIR_MISSING; SQLSTATE: HY000
Message: Schema directory ‘%s’ does not exist
错误说明:
ER_SCHEMA_DIR_MISSING 是 MySQL 抛出的一个错误,它表明系统找不到数据库的“模式目录”,也就是包含数据库模式的文件夹或目录。ER_SCHEMA_DIR_MISSING以及MySQL的其它许多错误最后都会以“SQLSTATE: HY000”的形式呈现给用户,这也是错误的一种标准格式。另外还包括错误码(3679)和错误代码(ER_SCHEMA_DIR_MISSING)。
造成这个错误的案例有很多,其中包括在没有正确创建模式目录的情况下启动MySQL实例,以及在创建模式目录之后却没有正确指定它(my.cnf文件)等等。
解决方法:
一旦用户看到“ER_SCHEMA_DIR_MISSING”错误,最先要做的就是查找当前实例中的可用模式目录,确认它的位置。通常来说,这种情况可以通过在启动MySQL的时候使用–datadir选项来解决,比如: mysqld –datadir=./user_data 如果这样做没有用,最可能的就是MySQL没有访问模式数据文件所在的目录,这时候应该使用chown/chgrp或者其它类似的文件级权限管理命令来修改一下目录的用户和组。
此外,还可以在my.cnf文件中添加一下内容: [mysqld] datadir=/user_data 这样的话,MySQL就可以通过my.cnf文件来确定模式目录的位置,就不用再使用命令行参数了。最后,MySQL服务器也可以被配置为在启动的时候使用配置文件的值,而不是编译时候的值,这种情况下就可以修改配置文件来解决“ER_SCHEMA_DIR_MISSING”问题了。