mysql8 无法连接navicat问题

1、修改MySQL的配置文件(my.cnf或者my.ini),在[mysqld]部分添加或者修改default_authentication_plugin=mysql_native_password。重启mysql服务

2、创建或修改用户并设置密码:如果您还没有 root 用户从任何主机连接的权限,您需要首先以具有足够权限的用户(通常是本地 root 用户)登录到 MySQL,并执行以下命令来创建或修改用户:

  CREATE USER 'root'@'%' IDENTIFIED BY 'your_password';

或者,如果 root 用户已经存在但您需要更改密码,可以使用:

  ALTER USER 'root'@'%' IDENTIFIED BY 'your_password';

请替换 'your_password' 为您想要设置的密码。

3、授予权限:一旦用户创建或密码修改完成,您可以授予 root 用户所需的权限。如果您想要授予 root 用户所有数据库的所有权限,可以执行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

4、刷新权限:每次修改用户权限后,都需要执行以下命令来使更改生效:

FLUSH PRIVILEGES;

注意:允许 root 用户从任何主机连接是一个安全风险,因为这意味着任何能够访问您的 MySQL 服务器的人都可以使用 root 凭据登录。在生产环境中,您应该始终限制可以从哪些主机连接到 root 用户,或者完全避免从远程主机连接 root 用户。通常,最好是为每个应用或服务创建特定的用户,并仅授予他们所需的最小权限。

如果您正在本地环境中工作,并且确实需要从其他主机连接到 root 用户,那么请确保您的 MySQL 服务器受到防火墙的保护,并且只允许可信的主机进行连接。

posted @ 2024-06-07 16:58  大尹  阅读(2)  评论(0编辑  收藏  举报