Error number: MY-010459; Symbol: ER_INIT_DATADIR_EXISTS_AND_PATH_TOO_LONG_WONT_INITIALIZE; SQLSTATE: HY000
Message: –initialize specified but the data directory exists and the path is too long. Aborting.
错误说明
MY-010459属于MySQL的一种错误代码,这个错误的提示是ER_INIT_DATADIR_EXISTS_AND_PATH_TOO_LONG_WONT_INITIALIZE,它代表的意思是无法对数据目录进行初始化,因其路径太长或是已经存在。SQLSTATE(标准SQL状态码)为HY000。
常见案例
当MySQL server未被禁用时,在某些情况下,在安装MySQL server时,路径可能会超出操作系统(OS)内部允许的最长路径。在这种情况下,数据库将无法初始化,就会出现这种错误提示。例如,一般而言,Linux / Mac OS X上的最大路径长度约为4096个字符,而在Windows上为260个字符,因此,如果您在安装MySQL时选择的数据目录路径过长,就会在MySQL初始化前出现ER_INIT_DATADIR_EXISTS_AND_PATH_TOO_LONG_WONT_INITIALIZE错误。
解决方法
解决这种情况的最直接的办法,就是尝试使用一个较短的文件路径。如果是使用Windows,则可以选择将数据库文件存放在C:mysqldata目录中,如果在Linux / Mac OS X上,就可以选择/var/lib/mysql/data这个目录,这样的文件路径,肯定是小于系统允许的最长路径的,所以就能正确的初始化数据库,解决错误了。
另外,如果不想将数据库文件存放在默认的位置中,可以通过修改系统级别的配置文件,来调整最大文件路径的长度,但是这也是要根据各个操作系统的不同而不同的。