<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>2003 &#8211; 記下來</title>
	<atom:link href="https://noter.tw/tag/2003/feed/" rel="self" type="application/rss+xml" />
	<link>https://noter.tw</link>
	<description>一路上踩到的坑、遇到的問題，一點一滴記下來，希望能幫助到需要的人~</description>
	<lastBuildDate>Sat, 07 Nov 2020 15:29:23 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.3</generator>

<image>
	<url>https://noter.tw/wp-content/uploads/cropped-old-1130742_1920-1-32x32.jpg</url>
	<title>2003 &#8211; 記下來</title>
	<link>https://noter.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>MySQL ERROR 2003 (HY000) 無法遠端連線</title>
		<link>https://noter.tw/3929/mysql-error-2003-hy000-%e7%84%a1%e6%b3%95%e9%81%a0%e7%ab%af%e9%80%a3%e7%b7%9a/</link>
					<comments>https://noter.tw/3929/mysql-error-2003-hy000-%e7%84%a1%e6%b3%95%e9%81%a0%e7%ab%af%e9%80%a3%e7%b7%9a/#respond</comments>
		
		<dc:creator><![CDATA[黃小蛙]]></dc:creator>
		<pubDate>Wed, 06 Jun 2018 12:01:04 +0000</pubDate>
				<category><![CDATA[資料庫]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[2003]]></category>
		<category><![CDATA[遠端連線]]></category>
		<guid isPermaLink="false">https://wazai.net/?p=3929</guid>

					<description><![CDATA[<p>前面兩篇：Java 連結 MySQL、JSP 連結 MySQL 有提到遠端連線設定的方式，但自己回頭看才發現很不清楚啊！因最近朋友遇到類似問題，在這邊完整記錄一下。 先來了解一下 MySQL 遠端登入&#46;&#46;&#46;</p>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/3929/mysql-error-2003-hy000-%e7%84%a1%e6%b3%95%e9%81%a0%e7%ab%af%e9%80%a3%e7%b7%9a/" data-wpel-link="internal">MySQL ERROR 2003 (HY000) 無法遠端連線</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>前面兩篇：<a rel="noreferrer noopener" href="https://noter.tw/2883/java-%e9%80%a3%e7%b5%90-mysql/" target="_blank" data-wpel-link="internal">Java 連結 MySQL</a>、<a rel="noreferrer noopener" href="https://noter.tw/2889/jsp-%e9%80%a3%e7%b5%90-mysql/" target="_blank" data-wpel-link="internal">JSP 連結 MySQL</a> 有提到遠端連線設定的方式，但自己回頭看才發現很不清楚啊！因最近朋友遇到類似問題，在這邊完整記錄一下。</p>



<span id="more-3929"></span>



<p>先來了解一下 MySQL 遠端登入需要有哪些條件：</p>



<ul class="my-li bg-darkblue wp-block-list"><li>帳號要對</li><li>密碼要對</li><li>IP 要對</li></ul>



<p>除了上面這些還有呢？第一次遇到這個錯誤還真的很難處理，上面三個都對了，卻還是一直噴錯誤出來，死活都不讓連。</p>



<p><br>這邊小蛙大概提一下自己了解的，需要詳細說明的，請自行 Google 囉！以下說明皆以小蛙使用的 Ubuntu 16.04 為主，Ubuntu 下的 MySQL 預設只允許本機連線，其他版本的小蛙不清楚，例如：CentOS 可能還要額外設定打開防火牆 port &#8230; 這些暫時不討論，根據上面的敘述我們可以得知，會有一個設定檔的某個設定可以打開禁忌，沒錯，開始設定吧！</p>



<h2 class="para wp-block-heading">設定 mysqld.cnf</h2>



<p>這個可能根據不同的版本會叫不同的名字，也可能會放在不同的地方，例如：mysql.conf, mysql.cnf, mysqld.cnf, my.ini &#8230; anyway 自己拼湊看看，下面是小蛙的範例：</p>



<pre class="wp-block-preformatted wp-block-syntaxhighlighter-code"># 編輯 mysql 設定檔
vim /etc/mysql/mysql.conf.d/mysqld.cnf

# 把這行註解掉，預設只允許 127.0.0.1 連線
#bind-address = 127.0.0.1</pre>



<p>好了，重新啟動 MySQL 後，大功告成！興奮的跑去連線，這時候你會罵一聲 X！最好是這樣就可以了，沒錯喔！到這邊其實就可以允許外部連線了（扣除上面提到有額外設定防火牆的情況外），為什麼還是無法連線呢？這又要回到 MySQL 的連線機制了，上面提到除了 帳號、密碼、IP 之外，MySQL 自己有一個使用者權限表，在這權限表裡面詳細記錄了 OO 使用者，密碼是 XX，允許連線的位置是 ZZ，連進來之後有的權限是 AABBCCDD &#8230; 等資訊，到這邊懂了嗎？如果上述設定都好了，卻還是無法連線，很大的機率是「允許連線位置是 ZZ」這邊造成的啊！<br>什麼？我們來前往一探究竟，先用本機登入自己的 MySQL </p>



<pre class="wp-block-preformatted wp-block-syntaxhighlighter-code">mysql -u root -p
# 輸入密碼
use mysql;
select host, user from user;
+----------------+------------------+
| host           | user             |
+----------------+------------------+
| 123.3.3.3      | root             |
| localhost      | phpmyadmin       |
| localhost      | root             |
+----------------+------------------+</pre>



<p>這邊可以看到允許從 localhost 及 123.3.3.3 的 root 使用者登入，locahost 的 phpmyadmin 使用者登入，讓我們來設定可以遠端登入吧！</p>



<pre class="wp-block-preformatted wp-block-syntaxhighlighter-code">(這個步驟如果有 phpmyadmin 的話，可以直接透過 phpmyadmin 來設定更方便)</pre>



<h2 class="para wp-block-heading">創建可遠端登入使用者</h2>



<pre class="wp-block-preformatted wp-block-syntaxhighlighter-code">mysql -u root -p 
# 輸入密碼 

use mysql; 
# 新建一個使用者並允許所有權限 
GRANT ALL ON *.* TO 'user_name'@'from_ip' identified by 'password'; 

# 更新權限，這行一定要輸入 
FLUSH PRIVILEGES; </pre>



<p>這樣一來就會建立一個使用者叫做 user_name 密碼是 password，並且允許從 from_ip 遠端登入，如果希望該使用者可以從「任意IP」登入的話，可以把 from_ip 換成「%」，但是要注意喔！如果是開放 root 可以從任意地方登入，又擁有所有權限 &#8230; 那 &#8230; 風險應該不用小蛙提醒，就記錄到這邊了！希望能幫助到有需要的人。 </p>



<p><strong>MySQL / MariaDB / Oracle 相關文章：</strong></p>



<ul class="my-li bg-darkblue wp-block-list">
<li><a href="https://noter.tw/12503/mariadb-json_extract-%e5%be%9e-json-%e6%ac%84%e4%bd%8d%e5%8f%96%e5%80%bc/" data-wpel-link="internal">MariaDB JSON_EXTRACT: 從 JSON 欄位取值</a></li>



<li><a href="https://noter.tw/12015/oracle-%e5%88%86%e7%b5%84%e7%b7%a8%e8%99%9f%e8%88%87%e5%85%a8%e6%8e%92%e5%ba%8f%e7%b7%a8%e8%99%9f-row_number-over-partition-by/" data-wpel-link="internal">Oracle, MySQL 分組編號與全排序編號 row_number, over, partition by</a></li>



<li><a href="https://noter.tw/3929/mysql-error-2003-hy000-%E7%84%A1%E6%B3%95%E9%81%A0%E7%AB%AF%E9%80%A3%E7%B7%9A/" data-wpel-link="internal">MySQL ERROR 2003 (HY000) 無法遠端連線</a></li>



<li><a href="https://noter.tw/2889/jsp-%E9%80%A3%E7%B5%90-mysql/" data-wpel-link="internal">JSP 連結 MySQL</a></li>



<li><a href="https://noter.tw/2883/java-%E9%80%A3%E7%B5%90-mysql/" data-wpel-link="internal">Java 連結 MySQL</a></li>



<li><a href="https://noter.tw/2306/mysql%E6%8E%92%E7%A8%8Bevent-scheduler/" data-wpel-link="internal">MySQL 排程(Event Scheduler)</a></li>



<li><a href="https://noter.tw/1988/java%E9%80%A3%E7%B5%90%E9%81%A0%E7%AB%AFmysql/" data-wpel-link="internal">Java 連結遠端 MySQL</a></li>



<li><a href="https://noter.tw/4508/mariadb-replication-%E8%A8%AD%E5%AE%9A/" data-wpel-link="internal">MariaDB Replication 設定</a></li>



<li><a href="https://noter.tw/122/java-php-%E6%8F%92%E5%85%A5-emoji-%E8%B3%87%E6%96%99%E5%88%B0-mariadb/" data-wpel-link="internal">Java / PHP 插入 emoji 資料到 MariaDB</a></li>
</ul>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/3929/mysql-error-2003-hy000-%e7%84%a1%e6%b3%95%e9%81%a0%e7%ab%af%e9%80%a3%e7%b7%9a/" data-wpel-link="internal">MySQL ERROR 2003 (HY000) 無法遠端連線</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://noter.tw/3929/mysql-error-2003-hy000-%e7%84%a1%e6%b3%95%e9%81%a0%e7%ab%af%e9%80%a3%e7%b7%9a/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
