1. 程式人生 > >Linux 環境下新增mysql使用者、修改使用者許可權

Linux 環境下新增mysql使用者、修改使用者許可權

一、建立使用者

mysql> create user 'kuke'@'localhost' identified by 'root';

說明:kuke – 你將建立的使用者名稱, localhost – 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost,  如 果想讓該使用者可以從任意遠端主機登陸,可以使用萬用字元%.

root –  該使用者的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登 陸伺服器.

如果要修改使用者密碼:

mysql> set password for kuke=password('123456');
刪除使用者:
mysql> drop user kuke;


二、授權

mysql> grant all on tiku.* to kuke;

all :所有許可權,包括 select ,update ,insert ,delete ,如果不想授權所有許可權,可這樣寫:
mysql> grant select,insert on tiku.* to kuke;

tiku: 資料庫名,表示該使用者只可對該資料庫進行操作

*  : 表名,表示該使用者只可對該表進行操作

如果想讓該使用者對所有資料庫操作,可這樣寫:

mysql> grant all on *.* to kuke;

如果要取消使用者的許可權,

mysql> revoke select on mysql.* from kuke;
引數跟grant的引數一樣

檢視使用者許可權:

mysql> show grants for kuke;


三、更新資料庫

mysql> flush privileges;

操作完必須更新資料庫,否則不會生效。

如果按照以上步驟還不行,有兩種可能:

第一:mysql綁定了ip

解決方法:刪除配置檔案my.cnf中的bind-address引數取消繫結

第二種可能3306埠被防火牆攔截了,參考下面的方法修改配置:

執行 vi /etc/sysconfig/iptables 如圖:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

加入這句話就可以了, 注意這句話一定要加在最後一句話的上面. 否則不會生效.

同樣如果是其它埠把"3306"換成相應埠即可.

然後重啟一下防火牆

service iptables restart


參考:

http://www.cnblogs.com/echo-something/archive/2012/07/31/3306_port.html