linux mysql 8.0 重置密码或者刷新权限问题

Posted sharon-mxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux mysql 8.0 重置密码或者刷新权限问题相关的知识,希望对你有一定的参考价值。

关于mysql user 表的主键,百度说是user + host 构成了主键

 

1:问题如下: 

[root@izbp19kvzy03hpq35bq1jxz ~]# mysql -u root
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
这一段是拒绝user=root,host=localhost 的用户访问,需要数据密码

解决方案:1):设置mysql为无密码启动 

                (修改MySQL的登录设置:vi /etc/my.cnf (部分Linux安装了vim,其命令则改为vim /etc/my.cnf)

在[mysqld]的段中加上一句:skip-grant-tables保存并退出vi。)

              2):重新启动mysqld,清空密码

                     重启mysql:service mysqld restart(这一步不能少,这是让my.cnf的修改生效)

                      进入mysql:mysql -u root

                      进入mysql后,切换数据库至mysql:use mysql;

                      清空密码:update user set authentication_string=‘‘ where user=‘root‘;
              3):退出mysql:exit; 并且 屏蔽skip-grant-tables:vi /etc/my.cnf,在skip-grant-tables前面添加#

               4):重启mysql.

至此 mysql8.0 可以不需要密码登录了。登录成功之后重新设置密码和刷新权限 就可以远程访问了

 

设置密码:

‘root‘@‘%‘   ‘root‘等于user表里的user,‘%‘ 等于user表里的host

 

ALTER USER ‘root‘@‘%‘ IDENTIFIED BY ‘新密码‘ PASSWORD EXPIRE NEVER;

ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘新密码‘;

让密码马上生效:FLUSH PRIVILEGES;

 

 

标记以便日后使用

以上是关于linux mysql 8.0 重置密码或者刷新权限问题的主要内容,如果未能解决你的问题,请参考以下文章

CentOS环境下MySQL 8.0重置登录密码

MySQL 8.0重置密码

Ubuntu 20.04 从零开始安装MySQL 8.0并重置root密码

忘记 mysql 8.0 root 密码 怎么修改

MySQL 8.0为root用户设置密码

MySQL5.7与8.0的连接问题(vs20152017)