我们在安装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用户和密码:
之后,我们可以用这个密码登陆数据库进行修改密码的操作了。