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
然后输入密码登录成功.