這一塊直接轉(zhuǎn)載了,大概分為兩步,第一當(dāng)然是安裝了,安裝好了我試了智能在那臺機子上操作數(shù)據(jù)庫。遠程一直鏈接不上,檢查了端口密碼用戶發(fā)現(xiàn)都是對了,我在網(wǎng)上一查,才知道默認設(shè)置是關(guān)閉遠程鏈接的。像我這種window用戶肯定需要遠程鏈接方便工具管理數(shù)據(jù)庫,于是就按照前輩們的指點一步步做。我用的是centos 7系統(tǒng),已經(jīng)成功了。
注意:數(shù)據(jù)庫其實還有很多設(shè)置,以后慢慢整理,比如數(shù)據(jù)庫編碼/用戶權(quán)限等,這里數(shù)據(jù)庫這里很重要
安裝
轉(zhuǎn)載 http://www.linuxidc.com/Linux/2016-09/134940.htm
CentOS7默認數(shù)據(jù)庫是mariadb,配置等用著不習(xí)慣,因此決定改成mysql,但是CentOS7的yum源中默認好像是沒有mysql的。為了解決這個問題,我們要先下載mysql的repo源。
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密碼
$ mysql -u root
登錄時有可能報這樣的錯: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ù)
$ service mysqld restart
接下來登錄重置密碼:
$ mysql -u root
//直接回車進入mysql控制臺
mysql > update user set password=password('123456') where user='root';
mysql > exit;
遠程鏈接
轉(zhuǎn)載 http://www.linuxidc.com/Linux/2013-06/86459.htm
Mysql為了安全性,在默認情況下用戶只允許在本地登錄,可是在有此情況下,還是需要使用用戶進行遠程連接,因此為了使其可以遠程需要進行如下操作:
一、允許root用戶在任何地方進行遠程登錄,并具有所有庫任何操作權(quán)限,具體操作如下:
在本機先使用root用戶登錄mysql:
mysql -u root -p"youpassword"
進行授權(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進行遠程登錄,并具有所有庫任何操作權(quán)限,具體操作如下:
在本機先使用root用戶登錄mysql:
mysql -u root -p"youpassword"
進行授權(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進行遠程登錄,并具有所有庫特定操作權(quán)限,具體操作如下:
在本機先使用root用戶登錄mysql:
mysql -u root -p"youpassword"
進行授權(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;
具體實例,先在本機登錄mysql:
mysql -u root -p"youpassword"
進行授權(quán)操作:
GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword";
再進行刪除授權(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)限詳細分類:
全局管理權(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: 只允許登錄--其它什么也不允許做。