Linux 環境下新增mysql使用者、修改使用者許可權
阿新 • • 發佈:2019-02-01
一、建立使用者
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;
如果要取消使用者的許可權,
引數跟grant的引數一樣mysql> revoke select on mysql.* from kuke;
檢視使用者許可權:
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