mysql不能用root登录_安装mysql-server之后,root用户不能登录问题

解决步骤:

step1

mysql -u root -p # 报错

# 报错信息……

step2

sudo cat /etc/mysql/debian.conf # 查看此文件内debin-sys-maint用户的信息,这是系统自动生成的

mysql -u debin-sys-maint -p # 用debin-sys-maint 登录mysql,密码在debin.conf里面

step3 修改root用户的密码

mysql> show databases; # 显示数据库列表

mysql > use mysql; # 进入mysql这个数据库

mysql> show tables; # 显示表;

mysql> update user set authentication_string=PASSWORD("这里填要修改的密码") where user='root' and Host='localhost'

step4

$ mysql -u root -p

# 权限拒绝,不能访问mysql

$ sudo service mysql restart # 这样也不行

再次执行step2、step3

mysql> use mysql;

mysql> select * from user; # 一堆信息,尝试找出我们可能需要的列

mysql> select User, plugin, authentication_string, account_locked, password_expired, password_last_changed from user;

# 可以看到用户root的plugin值为auth_socket,其他用户的plugin值都为mysql_native_password

# 此时,找到root用户不能登录mysql的原因:

# root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password,直接用root权限登录就不用密码,修改root密码和登录验证方式。

# 所以,之前我仅仅是更改了root用户的密码,但是root用户的登录验证方式还是auth_socket的,

# 所以,要更改root账户认证模式

mysql> update user set authentication_string=PASSWORD('密码'), plugin='mysql_native_password' where user='root';

mysql> flush privileges;

mysql> exit;

# 重启mysql-server

$ sudo service mysql restart

附录

# flush privileges 什么意思

# mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。­

# 检查mysql是否运行

sudo netstat -tap | grep mysql

# 删除MySQL的方法

sudo apt-get autoremove --purge mysql-server-5.7

sudo apt-get remove mysql-server

sudo apt-get autoremove mysql-server

sudo apt-get remove mysql-common

# 上面的可能会有些是多余的,之后需要清理残余数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

# 配置root远程登陆

mysql> grant all on *.* to root@'%' identified by '密码' with grant option;

mysql> flush privileges;

mysql> exit;

Windows10 忘记 mysql 5.7 的root密码的解决办法:

64位 windows10,MYSQL8.0.13重置密码(忘记密码或者无法登录)

期间,如果想要删除mysql 8.0 service ,

输入sc query mysql,查看一下名为mysql的服务

输入sc delete mysql,删除该mysql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值