解决navicat远程连接mysql报错10038的问题
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>一:本地防火墙问题</li><li>
二:服务器3306端口未打开</li></ul></div><p>
navicat远程连接mysql报错10038一般由以下两个原因:</p>
<p class="maodian"></p><h2>
一:本地防火墙问题</h2>
<p>
在本地安装了mysql、navicat并打开了mysql服务的情况下,来设置防火墙。</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/e384aeba7932cf4b9393309b64ebc8a1.jpg"></p>
<p>
首先右击或者点击入站规则,找到新建规则,点击。</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/7acaf27fb3ef6d755495694846063ce6.jpg"></p>
<p>
点击端口。</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/7acaf27fb3ef6d755495694846063ce6.jpg"></p>
<p>
在特定本地端口中填入3306.</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/263916ee9e2d608c3440b51b091a4f02.jpg"></p>
<p>
一直点击下一步。</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/9fe7243d890e40149323075d055a477b.jpg"></p>
<p>
这里可以给一个好分别的名称即可。<br>
之前再尝试连接即可,若仍然不可以,可能是服务器方面的问题。</p>
<p class="maodian"></p><h2>
二:服务器3306端口未打开</h2>
<p>
首先需要在安全组开放端口。<br>
我这里使用的是阿里云服务器。首先需要进入云服务器,找到安全组。</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/7dd7bf142c634ef2eb8a5da63509707f.jpg"></p>
<p>
进入里面找到配置规则。</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/3d317f7462859156bfc04a7a482e8cb3.jpg"></p>
<p>
然后进行快速添加,添加3306端口即可。</p>
<p>
之后同样在云服务器下再进入实例列表,点击远程连接,进入服务器终端。</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/c1c1f32b6e837a62e3c04a01a1c7a6db.jpg"></p>
<p>
然后在命令行输入<code>firewall-cmd --query-port=3306/tcp</code></p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/f2c537a8273f45f17ec25be83de8dc4f.jpg"></p>
<p>
若这里显示的是no,那么需要让防火墙开启3306端口:<br>
1.开启端口3306</p>
<blockquote>
<p>
firewall-cmd --zone=public --add-port=3306/tcp --permanent</p>
</blockquote>
<p>
2.重启防火墙</p>
<blockquote>
<p>
firewall-cmd --reload</p>
</blockquote>
<p>
查看已经开放的端口</p>
<blockquote>
<p>
firewall-cmd --list-ports</p>
</blockquote>
<p>
接着需要让mysql开启远程访问权限:<br>
1.登陆mysql (若遗忘数据库密码,往下看)</p>
<blockquote>
<p>
mysql -u root -p</p>
</blockquote>
<p>
2.设置访问地址(本人实际操作的时候并没有设置就可以连接成功了)</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_449292">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql plain">如果你想允许用户root从ip为192.168.1.123的主机连接到mysql服务器,并使用root作为密码 </code>
</div>
<div class="line number2 index1 alt1">
<code class="sql keyword">grant</code> <code class="sql color1">all</code> <code class="sql keyword">privileges</code> <code class="sql keyword">on</code> <code class="sql plain">*.* </code><code class="sql keyword">to</code> <code class="sql string">'root'</code><code class="sql plain">@</code><code class="sql string">'192.168.1.123'</code><code class="sql plain">identified </code><code class="sql keyword">by</code> <code class="sql string">'password'</code> <code class="sql keyword">with</code> <code class="sql keyword">grant</code> <code class="sql keyword">option</code><code class="sql plain">;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
3.刷新</p>
<blockquote>
<p>
flush privileges;</p>
</blockquote>
<p>
如果在上面第1步登陆mysql的时候遗忘了密码,可以进行以下操作。<br>
(以下主要来源于:linux下mysql忘记密码解决方案)</p>
<p>
<strong>1.检查mysql服务是否启动,如果启动,关闭mysql服务</strong></p>
<p>
运行命令:<code>ps -ef | grep -i mysql</code></p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/c618bb6991737583b19bc5635866f037.jpg"></p>
<p>
如果开着就运行关闭的命令:<code>service mysqld stop</code></p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/da314748d6f571a91956a798a11be530.jpg"></p>
<p>
<strong>2.修改mysql的配置文件my.conf</strong></p>
<p>
一般在/etc目录下,运行命令:vi /etc/my.cnf,编辑文件、</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/6a236c73b92b0d0d4b43b4840394e325.jpg"></p>
<p>
在文件的标签下添加一句:<code>skip-grant-tables</code></p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/5822be66f9921da17cf06d19186633eb.jpg"></p>
<p>
然后wq!保存退出。</p>
<p>
<strong>3.重启数据库</strong></p>
<p>
运行命令:<code>service mysqld start</code></p>
<p>
<strong>4.进入到mysql数据库</strong></p>
<p>
运行命令:<code>mysql -u root</code></p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/2dcc5ae90f6596d36592a4a5ed6e32fe.jpg"></p>
<p>
<strong>5.修改密码</strong><br>
运行语句:<code>use mysql;</code><br>
继续运行语句:<code>update mysql.user set authentication_string=password('root_password') where user='root';</code><br>
root_password替换成你想要的密码</p>
<p>
<img title="解决navicat远程连接mysql报错10038的问题" alt="解决navicat远程连接mysql报错10038的问题" src="https://zhuji.jb51.net/uploads/img/202305/0106557a7aab4f4d79abf9d2b296c003.jpg"></p>
<p>
<strong>6.把步骤2加的东西删除掉,再重启服务器,就可以使用刚才修改的密码登录进服务器了。</strong></p>
<p>
到这一步已经全部结束。</p>
<p>
以上就是本人解决10038问题的时候的一些步骤啦~</p>
<p>
到此这篇关于关于navicat远程连接mysql报错10038的问题的文章就介绍到这了,更多相关navicat远程连接错误10038内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!</p>
<p>
原文链接:https://blog.csdn.net/qq_33390316/article/details/109952277</p>
頁:
[1]