navicat 链接mysql 本地localhost 失败的方法

重新在官网下载mac版本的mysql 

https://blog.csdn.net/baidu_26315231/article/details/88963558

下载完成后 按照

https://blog.csdn.net/weixin_43111077/article/details/108811949 方式操作 重新链接navicat即可

 

1.问题原因
通过相关问题查阅,发现是由于navicat版本的问题造成连接失败。mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

MySql查看版本号-1

LITING:~ liting$ mysql -uroot -p    // 进入mysql
Enter password:  //输入mysql密码,如下提示表示登录成功
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 8.0.14 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
MySql查看版本号-2(可以进入mysql后通过mysql命令查看)

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.14    |
+-----------+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
2.解决问题
1.进入mysql

LITING:~ liting$ mysql -uroot -p
Enter password:  // mysql密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 8.0.14 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
1
2
3
4
5
6
7
8
9
10
11
12
13
2.输入命令修改加密规则

1.ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
password替换为mysql连接密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678' PASSWORD EXPIRE NEVER;
1
2.ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
password为修改的新密码。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
1
3.刷新权限,使修改生效。

FLUSH PRIVILEGES; 
1
4.查看表中相关信息,确认修改是否真正生效

mysql> use mysql;  //先使用命令 use mysql
Database changed
mysql> select user,host,plugin from user where user='root'; // 在输入该命令
+------+-----------+-----------------------+ 
| user | host      | plugin                |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
8
9
如上,密码校验规则已经修改成功

5.通过navicat连接测试


————————————————
版权声明:本文为CSDN博主「小李睡醒了」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43111077/article/details/108811949

### 解决Navicat for MySQL 新建连接失败的问题 当遇到Navicat for MySQL 创建新连接失败的情况时,通常会出现诸如 "can’t connect to MySQL server on localhost" 或者错误码2003等问题。这类问题的原因多种多样,包括但不限于MySQL服务未启动、端口号配置不正确、防火墙阻止连接或是密码验证失败等。 #### 检查MySQL服务器状态 确认MySQL服务器已经正常启动并正在监听预期的网络接口和端口是非常重要的第一步[^1]。如果是在Linux环境下操作,可以通过命令行工具如`systemctl status mysql.service`来查看MySQL的服务状态。 #### 核实端口配置 默认情况下,MySQL使用的是3306端口。确保Navicat中的连接设置里指定的端口号与实际运行的MySQL实例相匹配。对于某些安装情况,特别是自定义安装路径或容器化部署的情况下,可能会有不同的默认端口设定[^2]。 #### 审视防火墙规则 防火墙可能是另一个阻碍连接的因素之一。特别是在云环境中或者企业内部网中,安全策略往往较为严格。应当检查是否有任何入站流量被阻挡,并适当调整规则允许来自客户端IP地址的数据包到达目标端口。 #### 密码校验 输入正确的用户名和密码也是建立有效连接的关键要素。即使之前能够顺利登录,在更改过root账户或者其他用户的权限之后也可能导致认证失败。因此建议重置相关账号的访问凭证以排除此类可能性[^4]。 #### 数据库选择 值得注意的是,在尝试导入数据前应先创建好相应的数据库对象。如果没有事先准备好接收数据的目标库,则会触发类似于"[Err]1046 - No database selected"这样的报错提示[^3]。 ```sql CREATE DATABASE IF NOT EXISTS my_database; USE my_database; ``` 以上措施涵盖了大多数常见的连接障碍及其对应的处理方式。按照上述指导逐步排查潜在原因直至找到确切的答案为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值