1. 程式人生 > 資料庫 >centos上安裝mysql並設定遠端訪問的操作方法

centos上安裝mysql並設定遠端訪問的操作方法

1.下載mysql的repo源

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2.安裝mysql-community-release-el7-5.noarch.rpm包

$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

安裝這個包後,會獲得兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3.安裝mysql

$ sudo yum install mysql-server

根據提示安裝就可以了,不過安裝完成後沒有密碼,需要重置密碼

4.重置mysql密碼

$ mysql -u root

登入時有可能報這樣的錯:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的訪問許可權問題。下面的命令把/var/lib/mysql的擁有者改為當前使用者:

$ sudo chown -R root:root /var/lib/mysql

重啟mysql服務

$ service mysqld restart

接下來登入重置密碼:

$ mysql -u root //直接回車進入mysql控制檯
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;

Mysql為了安全性,在預設情況下使用者只允許在本地登入,可是在有此情況下,還是需要使用使用者進行遠端連線,因此為了使其可以遠端需要進行如下操作:

一、允許root使用者在任何地方進行遠端登入,並具有所有庫任何操作許可權,具體操作如下:

在本機先使用root使用者登入mysql:
mysql -u root -p"youpassword" 
進行授權操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
過載授權表:
FLUSH PRIVILEGES;
退出mysql資料庫:
exit

二、允許root使用者在一個特定的IP進行遠端登入,並具有所有庫任何操作許可權,具體操作如下:

在本機先使用root使用者登入mysql:
mysql -u root -p"youpassword" 
進行授權操作:
GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION;
過載授權表:
FLUSH PRIVILEGES;
退出mysql資料庫:
exit

三、允許root使用者在一個特定的IP進行遠端登入,並具有所有庫特定操作許可權,具體操作如下:

在本機先使用root使用者登入mysql:
mysql -u root -p"youpassword" 
進行授權操作:
GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword";
過載授權表:
FLUSH PRIVILEGES;
退出mysql資料庫:
exit

四、刪除使用者授權,需要使用REVOKE命令,具體命令格式為:

REVOKE privileges ON 資料庫[.表名] FROM user-name;
具體例項,先在本機登入mysql:
mysql -u root -p"youpassword" 
進行授權操作:
GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword";
再進行刪除授權操作:
REVOKE all on TEST-DB from test-user;
****注:該操作只是清除了使用者對於TEST-DB的相關授權許可權,但是這個“test-user”這個使用者還是存在。
最後從使用者表內清除使用者:
DELETE FROM user WHERE user="test-user";
過載授權表:
FLUSH PRIVILEGES;
退出mysql資料庫:
exit

五、MYSQL許可權詳細分類:

全域性管理許可權: 
FILE: 在MySQL伺服器上讀寫檔案。 
PROCESS: 顯示或殺死屬於其它使用者的服務執行緒。 
RELOAD: 過載訪問控制表,重新整理日誌等。 
SHUTDOWN: 關閉MySQL服務。
資料庫/資料表/資料列許可權: 
ALTER: 修改已存在的資料表(例如增加/刪除列)和索引。 
CREATE: 建立新的資料庫或資料表。 
DELETE: 刪除表的記錄。 
DROP: 刪除資料表或資料庫。 
INDEX: 建立或刪除索引。 
INSERT: 增加表的記錄。 
SELECT: 顯示/搜尋表的記錄。 
UPDATE: 修改表中已存在的記錄。
特別的許可權: 
ALL: 允許做任何事(和root一樣)。 
USAGE: 只允許登入--其它什麼也不允許做。

總結

以上所述是小編給大家介紹的centos上安裝mysql並設定遠端訪問的操作方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回覆大家的!