找回密码
 注册
首页 ≡≡网络技术≡≡ 数据库 【MySQL】initialize specified but the data directory ...

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

灰儿 2024-1-26 00:06:38
【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

您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。