Navcat连接myslq数据库报错:2003-Can‘t connect to MySQL server on '192.168.65.132'(10060)/navicat创建数据库报错1044-Access denid for user
问题一
使用Navcat连接银河麒麟虚拟机中的myslq数据库报错:2003-Can‘t connect to MySQL server on '192.168.65.132'(10060)
问题二:navicat创建数据库报错1044-Access denid for user
原因:这两个问题是因为mysql设置的权限问题。Mysql考虑到安全性,默认设置的权限是拒绝访问的,需要用户自己开放权限
按下面步骤操作可解决上述两个问题:
一、使用的端口是否正确
由于用的是mysql,监听的是 3306 端口
[root@localhost ~]# netstat -ntpl
有3306对应mysql表明该端口正确。
二、防火墙没有开放对应端口
2.1 查看是否有开放对应端口
[root@localhost ~]# firewall-cmd --list-ports
出现3306/tcp表明防火墙已经开放对应端口
2.2、若未开放如下图状态,则开放对应端口
1 2 3 4 5 | # 开放对应端口<br>[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # zone 作用域 # 3306/tcp 要开放端口 # permanent 永久开放 若没有这个参数,则防火墙重启后失效 success #启动成功 <br># 重新加载生效 [root@localhost ~]# firewall-cmd --reloadsuccess #启动成功 |
2.3 检查是否成功开放
1 | [root@localhost ~]# firewall-cmd --list-ports |
可以看到 3306端口 已经成功开放
三、查看mysql有没有授予当前 IP 远程访问权限
[root@localhost ~]# mysql -u root -p
Enter password:
mysql>
# 1.先进入mysql数据库
1 | use mysql; |
# 2.在user表中创建账号
1 2 | <em> create user 'rootR' @ '%' identified by 'pwd' ; <img src= "https://img2023.cnblogs.com/blog/1204515/202302/1204515-20230217153021819-1358055710.png" alt= "" loading= "lazy" ><br><br><strong>mysql的HOST分为两种:</strong><strong><br></strong><strong>1. ‘%’ : 代表匹配任意ip可以连接</strong><strong><br></strong><strong>2. ‘localhost’ : 代表只可以本机连接</strong></em> |
1 2 | <em># 3.修改密码(可忽略) ALTER USER 'rootR' @ '%' IDENTIFIED WITH mysql_native_password BY 'rootR.123' ;<br><img src= "https://img2023.cnblogs.com/blog/1204515/202302/1204515-20230217153358084-1058730089.png" alt= "" loading= "lazy" ></em> |
1 2 3 | <em># 4.给创建好的账号赋予远程权限 grant all privileges on *.* to 'rootR' @ '%' with grant option ; <img src= "https://img2023.cnblogs.com/blog/1204515/202302/1204515-20230217153124603-91737362.png" alt= "" loading= "lazy" ><br></em> |
# 5.刷新数据库
1 | <em>FLUSH PRIVILEGES ;<br><img src= "https://img2023.cnblogs.com/blog/1204515/202302/1204515-20230217153301703-674536077.png" alt= "" loading= "lazy" ></em> |
1 2 | <em># 6.查看数据库中的用户权限表 select User ,authentication_string,Host from user ;<br><img src= "https://img2023.cnblogs.com/blog/1204515/202302/1204515-20230217153242005-1183719116.png" alt= "" loading= "lazy" ></em> |
四、使用navcat进行尝试连接
连接名可任意命名、主机填写虚拟机的ip地址(可在虚拟机使用ifconfig进行查看)、端口一般为默认、用户名选择root、输入账户的密码即可,确定之前最好可以进行连接测试。
开启navicat,新建bkrq数据库
如图,已经创建数据库成功了
如果还是不行,就先exit退出mysql,navicat中删除连接,再新建一个新的连接,在新连接下创建数据库,因为我就是这样搞的,我之前给root授权后,又刷新一遍了,还是没成功,就重新创建连接再新建数据库,我估计是没刷新完全。
五、导入SQL数据
1、右击数据库,点击 ‘运行sql文件’
2、将bkrq初始化结构.sql 脚本导入等待导入完成
如果重启服务后连接失败请查看处理方案:
https://www.cnblogs.com/liunaixu/p/17122132.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程