標籤:
使用者管理
mysql>use mysql;
查看
mysql> select host,user,password from user ;
建立
mysql> create user zx_root IDENTIFIED by ‘xxxxx‘; //identified by 會將純文字密碼加密作為散列值儲存
修改
mysql>rename user feng to newuser;//mysql 5之後可以使用,之前需要使用update 更新user表
刪除
mysql>drop user newuser; //mysql5之前刪除使用者時必須先使用revoke 刪除使用者權限,然後刪除使用者,mysql5之後drop 命令可以刪除使用者的同時刪除使用者的相關許可權
更改密碼
mysql> set password for zx_root =password(‘xxxxxx‘);
mysql> update mysql.user set password=password(‘xxxx‘) where user=‘otheruser‘
查看使用者權限
mysql> show grants for zx_root;
賦予許可權
mysql> grant select on dmc_db.* to zx_root;
回收許可權
mysql> revoke select on dmc_db.* from zx_root; //如果許可權不存在會報錯
上面的命令也可使用多個許可權同時賦予和回收,許可權之間使用逗號分隔
mysql> grant select,update,delete ,insert on dmc_db.* to zx_root;
如果想立即看到結果使用
flush privileges ;
命令更新
設定許可權時必須給出一下資訊
1,要授與權限
2,被授予存取權限的資料庫或表
3,使用者名稱
grant和revoke可以在幾個層次上控制存取權限
1,整個伺服器,使用 grant ALL 和revoke ALL
2,整個資料庫,使用on database.*
3,特點表,使用on database.table
4,特定的列
5,特定的預存程序
user表中host列的值的意義
% 匹配所有主機
localhost localhost不會被解析成IP地址,直接通過UNIXsocket串連
127.0.0.1 會通過TCP/IP協議串連,並且只能在本機訪問;
::1 ::1就是相容支援ipv6的,表示同ipv4的127.0.0.1
==================
開啟MySQL資料庫遠端存取的許可權
在我們使用mysql資料庫時,有時我們的程式與資料庫不在同一機器上,這時我們需要遠端存取資料庫。預設狀態下,mysql的使用者沒有遠端存取的許可權。下面介紹兩種方法,解決這一問題。
1、改表法
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%‘ where user = ‘root‘;
mysql>select host, user from user;
2、授權法
在安裝mysql的機器上運行:
1、d:\mysql\bin\>mysql -h localhost -u root
//這樣應該可以進入MySQL伺服器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘WITH GRANT OPTION
//賦予任何主機訪問資料的許可權
例如,你想myuser使用mypassword從任何主機串連到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO ‘tanglei‘@‘%‘IDENTIFIED BY ‘tanglei‘ WI
TH GRANT OPTION;
如果你想允許使用者myuser從ip為192.168.1.6的主機串連到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.1.3‘IDENTIFIED BY
‘mypassword‘ WITH GRANT OPTION;
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
退出MySQL伺服器,這樣就可以在其它任何的主機上以root身份登入
=============================================
mysql常用總結