共計(jì) 2447 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。
自動(dòng)寫代碼機(jī)器人,免費(fèi)開通
怎么在 centos 系統(tǒng)中安裝 mysql 并設(shè)置遠(yuǎn)程訪問(wèn)?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
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
安裝這個(gè)包后,會(huì)獲得兩個(gè) 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ù)提示安裝就可以了, 不過(guò)安裝完成后沒(méi)有密碼, 需要重置密碼
4. 重置 mysql 密碼
$ mysql -u root
登錄時(shí)有可能報(bào)這樣的錯(cuò):ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket‘/var/lib/mysql/mysql.sock‘(2),原因是 /var/lib/mysql 的訪問(wèn)權(quán)限問(wèn)題。下面的命令把 /var/lib/mysql 的擁有者改為當(dāng)前用戶:
$ sudo chown -R root:root /var/lib/mysql
重啟 mysql 服務(wù)
$ service mysqld restart
接下來(lái)登錄重置密碼:
$ mysql -u root
// 直接回車進(jìn)入 mysql 控制臺(tái)
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)程登錄,并具有所有庫(kù)任何操作權(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ù)庫(kù):exit
二、允許 root 用戶在一個(gè)特定的 IP 進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù)任何操作權(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ù)庫(kù):exit
三、允許 root 用戶在一個(gè)特定的 IP 進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù)特定操作權(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ù)庫(kù):exit
四、刪除用戶授權(quán),需要使用 REVOKE 命令,具體命令格式為:
REVOKE privileges ON 數(shù)據(jù)庫(kù)[. 表名] FROM user-name;
具體實(shí)例,先在本機(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;
**** 注:該操作只是清除了用戶對(duì)于 TEST-DB 的相關(guān)授權(quán)權(quán)限,但是這個(gè)“test-user”這個(gè)用戶還是存在。最后從用戶表內(nèi)清除用戶:DELETE FROM user WHERE user= test-user
重載授權(quán)表:FLUSH PRIVILEGES;
退出 mysql 數(shù)據(jù)庫(kù):exit
五、MYSQL 權(quán)限詳細(xì)分類:
全局管理權(quán)限:
FILE: 在 MySQL 服務(wù)器上讀寫文件。
PROCESS: 顯示或殺死屬于其它用戶的服務(wù)線程。
RELOAD: 重載訪問(wèn)控制表,刷新日志等。
SHUTDOWN: 關(guān)閉 MySQL 服務(wù)。數(shù)據(jù)庫(kù) / 數(shù)據(jù)表 / 數(shù)據(jù)列權(quán)限:
ALTER: 修改已存在的數(shù)據(jù)表 (例如增加 / 刪除列) 和索引。
CREATE: 建立新的數(shù)據(jù)庫(kù)或數(shù)據(jù)表。
DELETE: 刪除表的記錄。
DROP: 刪除數(shù)據(jù)表或數(shù)據(jù)庫(kù)。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示 / 搜索表的記錄。
UPDATE: 修改表中已存在的記錄。特別的權(quán)限:
ALL: 允許做任何事(和 root 一樣)。
USAGE: 只允許登錄 -- 其它什么也不允許做。
看完上述內(nèi)容,你們掌握怎么在 centos 系統(tǒng)中安裝 mysql 并設(shè)置遠(yuǎn)程訪問(wèn)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!
向 AI 問(wèn)一下細(xì)節(jié)