mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.33 | +-----------+ 1 row in set (0.00 sec) mysql> SELECT user, host FROM mysql.user WHERE user = 'root'; +------+-----------+ | user | host | +------+-----------+ | root | localhost | +------+-----------+ 1 row in set (0.00 sec)
这里的localhost是不允许除本机之外的节点访问mysql,有时候应用和数据库不在一个节点上就需要开启远程访问策略,下面先把本地的localhost去掉,然后再修改密码。
mysql> use mysql; Database changed mysql> update user set user.Host='%' where user.User='root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> SELECT user, host FROM mysql.user WHERE user = 'root'; +------+------+ | user | host | +------+------+ | root | % | +------+------+ 1 row in set (0.00 sec)
远程策略开启了,下面修改一下root的密码,这里我直接修改成root就行了。
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; Query OK, 0 rows affected (0.03 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
BY
后面的root是密码,修改后刷新一下即可,就可以直接使用新密码登录了。原本以为和5.7的方法一样的,试了几次都不行,这里记录一下,方便后期使用。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏