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
根據(jù)提示安裝就可以了,不過安裝完成后沒有密碼,需要重置密碼
4.重置mysql密碼
登錄時有可能報這樣的錯:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的訪問權(quán)限問題。下面的命令把/var/lib/mysql的擁有者改為當(dāng)前用戶:
$ sudo chown -R root:root /var/lib/mysql
重啟mysql服務(wù)
接下來登錄重置密碼:
$ mysql -u root //直接回車進(jìn)入mysql控制臺
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
Mysql為了安全性,在默認(rèn)情況下用戶只允許在本地登錄,可是在有此情況下,還是需要使用用戶進(jìn)行遠(yuǎn)程連接,因此為了使其可以遠(yuǎn)程需要進(jìn)行如下操作:
一、允許root用戶在任何地方進(jìn)行遠(yuǎn)程登錄,并具有所有庫任何操作權(quán)限,具體操作如下:
在本機(jī)先使用root用戶登錄mysql:
mysql -u root -p"youpassword"
進(jìn)行授權(quán)操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
重載授權(quán)表:
FLUSH PRIVILEGES;
退出mysql數(shù)據(jù)庫:
exit
二、允許root用戶在一個特定的IP進(jìn)行遠(yuǎn)程登錄,并具有所有庫任何操作權(quán)限,具體操作如下:
在本機(jī)先使用root用戶登錄mysql:
mysql -u root -p"youpassword"
進(jìn)行授權(quán)操作:
GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION;
重載授權(quán)表:
FLUSH PRIVILEGES;
退出mysql數(shù)據(jù)庫:
exit
三、允許root用戶在一個特定的IP進(jìn)行遠(yuǎn)程登錄,并具有所有庫特定操作權(quán)限,具體操作如下:
在本機(jī)先使用root用戶登錄mysql:
mysql -u root -p"youpassword"
進(jìn)行授權(quán)操作:
GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword";
重載授權(quán)表:
FLUSH PRIVILEGES;
退出mysql數(shù)據(jù)庫:
exit
四、刪除用戶授權(quán),需要使用REVOKE命令,具體命令格式為:
REVOKE privileges ON 數(shù)據(jù)庫[.表名] FROM user-name;
具體實例,先在本機(jī)登錄mysql:
mysql -u root -p"youpassword"
進(jìn)行授權(quán)操作:
GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword";
再進(jìn)行刪除授權(quán)操作:
REVOKE all on TEST-DB from test-user;
****注:該操作只是清除了用戶對于TEST-DB的相關(guān)授權(quán)權(quán)限,但是這個“test-user”這個用戶還是存在。
最后從用戶表內(nèi)清除用戶:
DELETE FROM user WHERE user="test-user";
重載授權(quán)表:
FLUSH PRIVILEGES;
退出mysql數(shù)據(jù)庫:
exit
五、MYSQL權(quán)限詳細(xì)分類:
全局管理權(quán)限:
FILE: 在MySQL服務(wù)器上讀寫文件。
PROCESS: 顯示或殺死屬于其它用戶的服務(wù)線程。
RELOAD: 重載訪問控制表,刷新日志等。
SHUTDOWN: 關(guān)閉MySQL服務(wù)。
數(shù)據(jù)庫/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限:
ALTER: 修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引。
CREATE: 建立新的數(shù)據(jù)庫或數(shù)據(jù)表。
DELETE: 刪除表的記錄。
DROP: 刪除數(shù)據(jù)表或數(shù)據(jù)庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜索表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的權(quán)限:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄--其它什么也不允許做。
總結(jié)
以上所述是小編給大家介紹的centos上安裝mysql并設(shè)置遠(yuǎn)程訪問的操作方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
您可能感興趣的文章:- 設(shè)置mysql5.7編碼集為utf8mb4的方法
- MySQL設(shè)置global變量和session變量的兩種方法詳解
- 設(shè)置Mysql5.6允許外網(wǎng)訪問的詳細(xì)流程分享
- Docker下mysql設(shè)置字符集的方法
- mysql中datetime類型設(shè)置默認(rèn)值方法
- 詳解利用Dockerfile構(gòu)建mysql鏡像并實現(xiàn)數(shù)據(jù)的初始化及權(quán)限設(shè)置
- MySQL日志設(shè)置及查看方法
- Window 下安裝Mysql5.7.17 及設(shè)置編碼為utf8的方法
- CentOS 7安裝Mysql并設(shè)置開機(jī)自啟動的方法
- Mysql的max_allowed_packet設(shè)定