mysql创建用户后无法进入

说明

在mysql中添加用户:

#mysql -u root -p 
>use mysql;
>update user set password="" where user="root";    //将root用户设置为无需登录密码登录的用户

注:mysql用户的注册表为user表(mysql database下),主要的三个字段Host,user,password,其中password字段中存放的是加密的字段PASSWORD(”),当Host为%号时,可允许所有类型的当前用户登录。

错误

添加一个用户并修改了root密码后出现mysql数据库无法登录:
这里写图片描述
修改代码如下:

>use mysql;
>insert into user (Host,user,password) values ('127.0.0.1','gerrit','test');
>update user set password='123' where user='root';

经查找发现,mysql登录用户信息保存的密码是以PASSWORD类型保存,如上使用的是一般的varchar存入导致我们登录后的密码无法匹配而登录失败。所以我需要修改用户密码
- 修改编辑mysql的配置文件/etc/mysql/my.cnf
在[mysqld]组最后添加skip-grant-tables跳过mysql登录的验证环节
- 重启mysql服务

 #service mysql restart
  • 修改mysql用户密码
#mysql
>use mysql
>update user set password=PASSWORD('123') where user='root';
>update user set password=PASSWORD('123') where user='gerrit';

这里写图片描述

  • 退出mysql并重启mysql服务登录测试
#mysql -u gerrit -p

然后输入密码登录成功.

posted @ 2017-11-06 14:15  amiko  阅读(528)  评论(0编辑  收藏  举报