navicat远程连接报错
mysql,2003 can't connect to mysql server on 10038
我们连接远程服务器的mysql,如果出现问题,很大问题会出在服务器的端口和授权问题
# 首先我们通过netstat -an|grep 3306来查看mysql默认的端口3306是否开启,允许哪个ip使用 如果你发现,前面有127.0.0.1,就说明,3306端口只能本机ip使用,我们需要 #打开mysql配置文件vi /etc/mysql/mariadb.conf.d/50-server.cnf 将bind-address = 127.0.0.1注销 #进入mysql,对远程用户进行授权, grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx'; 这里的root 是你远程登录的用户,xxxxxx是你登录使用的密码,然后可以在mysql数据 表中查看到你这个用户已经被添加到user表中 # 刷新权限 FLUSH PRIVILEGES; # 重启数据库 /etc/init.d/mysql restart
1130 - Host XXX is not allowed to connect to this MySQL server。
#1.在用Navicat配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。 #2.在安装Mysql数据库的主机上登录root用户: mysql -u root -p #3.依次执行如下命令: use mysql; select host from user where user='root'; 可以看到当前主机配置信息为localhost. #4.将Host设置为通配符% Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。 #注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置; update user set host = '%' where user ='root'; # 报错不用理会 Host设置了“%”后便可以允许远程访问。 #5.Host修改完成后记得执行flush privileges使配置立即生效 flush privileges; #6.使用navicat 成功连接至mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix