Error number: MY-010457; Symbol: ER_INIT_DATADIR_NOT_EMPTY_WONT_INITIALIZE; SQLSTATE: HY000
Message: –initialize specified but the data directory has files in it. Aborting.
错误说明
MySQL错误码MY-010457(ER_INIT_DATADIR_NOT_EMPTY_WONT_INITIALIZE)的意思是指在MySQL的数据目录中的内容不止空目录,所以不能初始化,MySQL安装失败。该错误所在的SQLSTATE(HY000)表示涵盖SQL语句上下文中使用的不定义或不正确函数内部错误。
MY-010457 定义在include/mysqld_error.h文件中。
常见案例
当MySQL数据库被安装在不是专门为MySQL服务而由操作系统分配的磁盘空间时,我们可能会发现MySQL无法正常启动,并显示以下错误消息:
ER_INIT_DATADIR_NOT_EMPTY_WONT_INITIALIZE: The data directory is not empty and MySQL cannot initialize
解决方法
若要解决这个错误,需要使用MySQL的Datadir参数以指向一个空的一个新的数据目录,从而初始化MySQL服务器。
另外,需要在运行安装脚本时,添加–initialize-insecure选项,以便在原始目录中不会产生任何文件。
此外,也可以尝试在原始数据目录中针对MySQL服务器使用mysqld –initialize命令,如果成功执行,就可以继续使用MySQL数据库,而无需更改可用的任何数据目录。