Linux下远程连接MySQL数据库的方法
<p><strong>踩坑笔记</strong></p>
<p>
估计搞了一个多小时才把这个远程连接搞好。一台本地电脑,一台云服务器,都是linux系统。</p>
<p>
<strong>步骤</strong></p>
<p>
1、在服务器端开启远程访问</p>
<p>
首先进入mysql数据库,然后输入下面两个命令:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_67151">
<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 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">'%'</code> <code class="sql plain">identified </code><code class="sql keyword">by</code> <code class="sql string">'password'</code><code class="sql plain">;</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql plain">flush </code><code class="sql keyword">privileges</code><code class="sql plain">;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<ol>
<li>
第一个*是数据库,可以改成允许访问的数据库名称</li>
<li>
第二个 是数据库的表名称,代表允许访问任意的表</li>
<li>
root代表远程登录使用的用户名,可以自定义</li>
<li>
%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了</li>
<li>
password代表远程登录时使用的密码,可以自定义</li>
<li>
flush privileges;这是让权限立即生效</li>
</ol>
<p>
2、修改my.cnf配置文件</p>
<p>
这个是mysql的配置文件,如果你无标题文章找不到在哪里的话,可以输入<code>find /* -name my.cnf </code>找到</p>
<p>
通过vim编辑该文件,找到<code>bind-address = 127.0.0.1</code>这一句,然后在前面加个#号注释掉,保存退出</p>
<p>
3、重启服务</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_515583">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">service mysql restart</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
4、在本地远程连接</p>
<p>
在终端输入:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_467162">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">mysql -h 服务器ip地址 -P 3306 -u root -p</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
然后输入密码即可。</p>
<p>
root是第1点设置的用户名,密码也是第1点设置的密码</p>
<p>
<strong>一些细节</strong></p>
<p>
在网上找了很多文章,说要开启3306端口才能连接,但是我开启了却还是无法连接,后来又找到了一些文章,说要更改my.cnf,也就是上面的第2点,更改了然后重启服务器就可以了。</p>
<p>
刚刚在另外一台服务器上面试了一下,没有配置过端口,通过上面三步,很快就连上了。</p>
<p>
所以第二点非常重要,基本上每个人装mysql的时候都会去配置那个文件,因为字符集需要配置。所以肯定有那个文件的,用find命令找找就行了。</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
<p>
原文链接:http://www.jianshu.com/p/8fc90e518e2c?utm_source=tuicool&utm_medium=referral</p>
頁:
[1]