灰儿 发表于 2024-1-26 00:06:38

【MySQL】initialize specified but the data directory has files in it. Aborting

【MySQL】initialize specified but the data directory has files in it. Aborting

我们在安装mysql的时候可能会遇到这个问题:



是不是执行了这个命令呢?

mysqld --initialize --user=mysql
      报这个错误的原因是因为你的mysql数据库已经进行初始化了,所以不能用这种方式再进行初始化用户了,因为mysql在初始化的时候会自动创建一个root用户的。

这个时候我们应该怎么办呢?

1、找到数据库目录

我们可以在mysql的配置文件中找到数据库的目录:

vi /etc/my.cnf
在其中我们可以找到datadir这个配置:



这里配置的就是我们的mysql数据库的目录

2、移动(备份)数据库文件

首先要保证mysql处于停止状态,然后

cd /var/lib
mv mysql mysql_bak
我们这里是把mysql文件夹重命名成了mysql_bak,然后我们就可以执行初始化用户的语句了:

mysqld --initialize --user=mysql
然后我们可以启动数据库看看能不能用这个账户登陆了。



其他方法

移动了数据库文件之后,我们可以清理一下日志文件:

echo ''->/var/log/mysqld.log
然后重新启动mysql的服务:

service mysqld start
这个时候会在日志中看到数据库初始化时候创建的root用户和密码:



之后,我们可以用这个密码登陆数据库进行修改密码的操作了。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/tr1912/article/details/81271851

页: [1]
查看完整版本: 【MySQL】initialize specified but the data directory has files in it. Aborting