1.下載mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.安裝mysql-community-release-el7-5.noarch.rpm包
1
|
$ 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
1
|
$ sudo yum install mysql-server |
根據提示安裝就可以了,不過安裝完成后沒有密碼,需要重置密碼
4.重置mysql密碼
1
|
$ 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的擁有者改為當前用戶:
1
|
$ sudo chown -R root:root /var/lib/mysql |
重啟mysql服務
1
|
$ service mysqld restart |
接下來登錄重置密碼:
1
2
3
4
|
$ mysql -u root //直接回車進入mysql控制臺 mysql > use mysql; mysql > update user set password = password ( '123456' ) where user = 'root' ; mysql > exit; |
Mysql為了安全性,在默認情況下用戶只允許在本地登錄,可是在有此情況下,還是需要使用用戶進行遠程連接,因此為了使其可以遠程需要進行如下操作:
一、允許root用戶在任何地方進行遠程登錄,并具有所有庫任何操作權限,具體操作如下:
1
2
3
4
5
6
7
8
|
在本機先使用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進行遠程登錄,并具有所有庫任何操作權限,具體操作如下:
1
2
3
4
5
6
7
8
|
在本機先使用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進行遠程登錄,并具有所有庫特定操作權限,具體操作如下:
1
2
3
4
5
6
7
8
|
在本機先使用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命令,具體命令格式為:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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權限詳細分類:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
全局管理權限: FILE: 在MySQL服務器上讀寫文件。 PROCESS: 顯示或殺死屬于其它用戶的服務線程。 RELOAD: 重載訪問控制表,刷新日志等。 SHUTDOWN: 關閉MySQL服務。 數據庫/數據表/數據列權限: ALTER : 修改已存在的數據表(例如增加/刪除列)和索引。 CREATE : 建立新的數據庫或數據表。 DELETE : 刪除表的記錄。 DROP : 刪除數據表或數據庫。 INDEX : 建立或刪除索引。 INSERT : 增加表的記錄。 SELECT : 顯示/搜索表的記錄。 UPDATE : 修改表中已存在的記錄。 特別的權限: ALL : 允許做任何事(和root一樣)。 USAGE: 只允許登錄 --其它什么也不允許做。 |
總結
以上所述是小編給大家介紹的centos上安裝mysql并設置遠程訪問的操作方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
原文鏈接:http://blog.csdn.net/kang123488/article/details/78600435