Ubuntu下安裝MySql並在外網串連,ubuntumysql在外網

來源:互聯網
上載者:User

Ubuntu下安裝MySql並在外網串連,ubuntumysql在外網

純新手教程。


1.安裝mysql

apt-get install mysql-server mysql-client libmysqlclient15-dev 


安裝過程中會提示為資料庫root賬戶設定密碼,輸入兩邊密碼即可

2、進入

mysql  mysql -uroot -p 


3、重新設定mysql使用者root的密碼

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";


4、建立新資料庫 proxy

create database proxy;


5、建立使用者test 對proxy庫有全部操作許可權

grant all privileges on proxy.* to test@localhost identified by "testpwd";


6、允許test使用者可以從任意機器上登入MySQL

grant all privileges on proxy.* to test@"%" identified by "testpwd"; 


7、退出mysql

exit


8、mysql安裝完成後預設監聽的地址是127.0.0.1,連接埠是3306。可以通過以下命令看到其監聽的地址以及連接埠:

netstat -ntulp



9、如果監聽的是127.0.0.1,那麼從外網是連不上資料庫的。這時可以修改監聽的地址為0.0.0.0:

sudo vim /etc/mysql/my.cnf


找到bind-address=127.0.0.1這一行,將127.0.0.1改為0.0.0.0,儲存退出

10、重啟mysql,使配置生效

service mysql restart


現在應該就可以在遠程用MySql_Front或者phpmyadmin遠端連線mysql資料庫了。只不過只能用剛授權過的test賬戶遠程登入。root賬戶預設是禁止遠程登入資料庫的。可以用以下兩種辦法來允許root賬戶遠程登入資料庫:

(1). 改表法。

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"

<pre name="code" class="sql">mysql -u root -pmysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

(2).授權法。

例如,你想myuser使用mypassword從任何主機串連到mysql伺服器的話:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允許使用者myuser從ip為192.168.1.3的主機串連到mysql伺服器,並使用mypassword作為密碼

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果考慮到安全性的問題,又想禁止root賬戶遠程登入mysql資料庫:

delete from user where user = 'root' and host = '%';select host, user from user;flush privileges;






ubuntu串連Mysql方法 與 進入資料庫的方法 最好有圖解

不是命令列 直接mysql -uroot -p123456?
root是使用者名稱 p是密碼~~
 
ubuntu 1010怎安裝mysql伺服器,有詳細的操作步驟

安裝MySQL

sudo apt-get install mysql-server

這個應該很簡單了,而且我覺得大家在安裝方面也沒什麼太大問題,所以也就不多說了,下面我們來講講配置。

配置MySQL

注意,在Ubuntu下MySQL預設是只允許本地訪問的,如果你要其他機器也能夠訪問的話,那麼需要改變/etc/mysql/my.cnf設定檔了!下面我們一步步地來:

預設的MySQL安裝之後根使用者是沒有密碼的,所以首先用根使用者進入:

$mysql -u root

在這裡之所以用-u root是因為我現在是一般使用者(firehare),如果不加-u root的話,mysql會以為是firehare在登入。注意,我在這裡沒有進入根使用者模式,因為沒必要。一般來說,對mysql中的資料庫進行操作,根本沒必要進入根使用者模式,只有在設定時才有這種可能。

進入mysql之後,最要緊的就是要設定Mysql中的root使用者密碼了,否則,Mysql服務無安全可言了。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";

注意,我這兒用的是123456做為root使用者的密碼,但是該密碼是不安全的,請大家最好使用大小寫字母與數字混合的密碼,且不少於8位。

這樣的話,就設定好了MySQL中的root使用者密碼了,然後就用root使用者建立你所需要的資料庫。我這裡就以xoops為例:

mysql>CREATE DATABASE xoops;

mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";

這樣就建立了一個xoops_roots的使用者,它對資料庫xoops有著全部許可權。以後就用xoops_root來對xoops資料庫進行管理,而無需要再用root使用者了,而該使用者的許可權也只被限定在xoops資料庫中。

如果你想進行遠端存取或控制,那麼你要做兩件事:

其一:

mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";

允許xoops_root使用者可以從任意機器上登入MySQL。

其二:

$sudo gedit /etc/mysql/my.cnf

老的版本中

>skip-networking => # skip-networking

新的版本中

>bind-address=127.0.0.1 => bind-address= 你機器的IP

這樣就可以允許其他機器訪問MySQL了。
參考資料:ubuntu 中文官網論壇...餘下全文>>
 

相關文章

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.