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 |