关于linux环境下登录mysql时有可能会存在认证失败情况报错,或这个mysql中默认的mysql库消失的情况,可由以下解决方法进行解决。
解决方案:
1,关闭mysql的服务
service mysqld stop
2,屏蔽权限(进入无权限状态)
mysqld_safe --skip-grant-table
或者
mysqld_safe --skip-grant-tables &
屏蔽权限后服务器可能处于运行中的状态,这个时候无法进行下一步的操作,这个时候我们需要在新开一个服务器终端。
3,连接mysql
mysql -u root mysql
这个时候我们就已经可以进入到mysql中。
4,从新设置mysql密码
use mysql;
update user set Password=PASSWORD('123456') where user='root';
设置新密码时一定要加引号!
5,查看mysql表中是否存在多余用户信息并擅长
select user from user;
# 表中只留一个 % 用户即可,若没有可修改成 %
delete from user where user !='%';
6,刷新mysql权限相关表
flush privileges;
7,重启mysql服务
service mysqld restart
8,重新链接mysql
mysql -uroot -p123456
以上则是解决登录mysql权限,认证等方面报错的方法。