Mysql 下创建root用户

在linux下安装了mysql之后出现错误,刚开始以为就是没有密码的问题,按照这篇文章进行了修改:linux下mysql 初次登陆修改密码  修改之后应该没错,但再次启动服务root登录还是不行,下面的就是出现的问题和解决过程:


 mysqld_safe --skip-grant-tables&mysql -uroot mysql
mysql> select * from user;
Empty set (0.00 sec)
mysql> select USER();
+--------+
| USER() |
+--------+
| root@ |
+--------+
1 row in set (0.00 sec)

这里惊奇的发现居然没有root用户,user表里面是空的,还是第一次遇到这种问题的。

由于 mysqld_safe --skip-grant-tables里面是不能用grant的,于是想到了手动insert插入root用户:

**为了大家方便这里提供一些说明:第一个值是host,第二个为user这两项是必填项,password("my_password")这里进行密码的设置,MY_PASSWORD 就是密码 ,而‘Y‘有28个,之后有1个enum和3个blob 可以为空,也就是这里的4个空字符,int类型有4个,默认值为0

INSERT INTO user VALUES(‘%‘,‘root‘,password(‘MY_PASSWORD‘),‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘‘,‘‘,‘‘,‘‘,0,0,0,0)

这里要主要的是第3个字段密码处要用password(‘密码‘),因为mysql中密码是要经过编码的,不是直接字符串保存的。

接着在杀掉所有mysql进程,之后正常重启mysql,即可用root用户登录

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。