1、添加用戶
本機訪問權限:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost'
-> IDENTIFIED BY 'password' WITH GRANT OPTION;
遠程訪問權限:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'
-> IDENTIFIED BY 'password' WITH GRANT OPTION;
另外還有一種方法是直接Insert INTO user,注意這種方法之後需要 FLUSH PRIVILEGES 讓服務器重讀授權表。
insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
values(‘localhost’,'xff’,password(‘xff’),”,”,”);
FLUSH PRIVILEGES;
note:1)必須要加上ssl_cipher,x509_issuer,x509_subject三列,以爲其默認值不爲空(數據庫版本爲:5.0.51b)
2)FLUSH PRIVILEGES重載授權表,使權限更改生效
3)mysql是通過User表,Db表,Host表,Tables_priv 表,Columns_priv 表這5張表實現用戶權限控制,均可以通過直接對這些表的操作以達到對用戶的管理
2、刪除用戶
drop user admin@localhost;(@不加默認爲“%”)
3、權限回收
revoke delete on test.* from admin@'localhost';
4、創建用戶授權一起實現 5、限制用戶資源 使用mysqladmin: 修改root密碼: 7、關於加密 mysql> select MD5('hello'); mysql> select SHA1('abc'); -> 'a9993e364706816aba3e25717850c26c9cd0d89d' SHA1()是爲字符串算出一個 SHA1 160比特檢查和,如RFC 3174 (安全散列算法)中所述。 8、授權精確到列
grant select,insert,update,delete on *.* to 'admin2′@'%'
identified by ‘admin2′ with grant option;
note:在mysql中,如果@後面的登錄範圍不同,帳號可以一樣mysql> GRANT ALL ON customer.* TO 'francis'@'localhost'
-> IDENTIFIED BY 'frank'
-> WITH MAX_QUERIES_PER_HOUR 20
-> MAX_UPDATES_PER_HOUR 10
-> MAX_CONNECTIONS_PER_HOUR 5
-> MAX_USER_CONNECTIONS 2;
6、用戶密碼設置
shell> mysqladmin -u user_name -h host_name password "newpwd"
或在mysql裏執行語句:
mysql> SET PASSWORD FOR 'username'@'%'
= PASSWORD('password');
如果只是更改自己的密碼,則:
mysql> SET PASSWORD = PASSWORD(‘password’);
在全局級別使用GRANT USAGE語句(在*.*)來指定某個賬戶的密碼:
mysql> GRANT USAGE ON *.* TO 'username'@'%'
IDENTIFIED BY 'password';
或直接修改MySQL庫表:
mysql> UPDATE user SET Password = PASSWORD('bagel')
-> WHERE Host = '%' AND User = 'francis';
mysql> FLUSH PRIVILEGES;
update mysql.user set password=password(‘passw0rd’) where user=’root’;
FLUSH PRIVILEGES;
mysql> select PASSWORD('password');
+-------------------------------------------+
| PASSWORD('password') |
+-------------------------------------------+
| *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------------------------------------------+
1 row in set (0.00 sec)
+----------------------------------+
| MD5('hello') |
+----------------------------------+
| 5d41402abc4b2a76b9719d911017c592 |
+----------------------------------+
1 row in set (0.00 sec)
grant select (cur_url,pre_url) on test.abc to admin@localhost;