訪問Linux下MySQL伺服器資料庫

來源:互聯網
上載者:User

預設狀況下,出於安全考慮,Linux下MySQL資料庫屏蔽了遠端存取功能。 然而在許多狀況下,你需要在家或者從web程式去訪問遠端資料庫伺服器,這就相當麻煩了。

第一步: 啟用網路設定
你需要編輯mysql設定檔my.cnf.

通常狀況,my.cnf放置於在以下目錄:
/etc/mysql/my.cnf (Debian linux)
/etc/my.cnf (Red Hat Linux/Fedora Linux)
/var/db/mysql/my.cnf (FreeBSD)

# vi /etc/my.cnf
然後用vi編輯my.cnf,修改內容從以下行:

[mysqld]

你所需要:
1. 確保skip-networking被刪除或者屏蔽,否則不支援TCP/IP 訪問
2. 增加行bind-address = 65.55.55.2,替代65.55.55.2 為你的伺服器位址
修改後,配置為:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = 65.55.55.2
# skip-networking
....
..

儲存並關閉設定檔
重啟mysql伺服器:# /etc/init.d/mysql restart

第二步, 給遠程ip授存取權限
1. 以root身份登陸mysql # mysql -u root -p
2. 授權給新資料庫
如果你有一個新的資料庫名稱為foo。使用者bar需要在用戶端地址為202.54.10.20上訪問。

在伺服器端執行 (授權法):
mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO bar@'202.54.10.20' IDENTIFIED BY 'PASSWORD';

如何給以存在的資料庫授權? www.bkjia.com

如果使用者 webadmin 經常在用戶端地址202.54.10.20 訪問 webd資料庫,那麼在伺服器端執行的命令應該為(改表法):

mysql> update db set Host='202.54.10.20' where Db='webdb';
mysql> update user set Host='202.54.10.20' where user='webadmin';

第三步: 執行exit命令退出mysql環境,

第四步 測試
From remote system type command:
$ mysql -u webadmin –h 65.55.55.2 –p

註解;
-u webadmin: webadmin為mysql的使用者名稱
-h IP or 網域名稱: 65.55.55.2 is MySQL server IP address or hostname (FQDN)
-p : 密碼提示
你也可以使用telnet去串連遠端3306連接埠 $ telnet 65.55.55.2 3306

筆者註:

這篇文章解決了我在SUSE環境中的mysql遠端存取問題。但是實際操作中,my.cnf似乎並不是特別重要。在我的操作中,my.cnf建立和修改沒有執行(忽略第一步)。最重要的步驟應該是第四步
GRANT ALL ON b2c.* TO root@'5.179.201.86' IDENTIFIED BY '';
其中b2c為所要訪問的遠端資料庫名,5.179.201.86為mysql用戶端主機的ip地址,也就是你的機器ip地址。
有個小細節需要注意。如果你的伺服器裝了防火牆的話,需要開啟3306的訪問,否則也會串連不上。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.