**:
本機訪問許可權:
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張表實現使用者許可權控制,均可以通過直接對這些表的操作以達到對使用者的管理
解決mysql不允許從遠端訪問的方法:
1。 改表法。
可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授權法。
例如,你想myuser使用mypassword從任何主機連線到mysql伺服器的話。
grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
flush
privileges;
如果你想允許使用者myuser從ip為192.168.1.6的主機連線到mysql伺服器,並使用mypassword作為密碼
grant all privileges on *.* to 'myuser'@'192.168.1.3' identified by 'mypassword' with grant option;
flush
privileges;
如果你想允許使用者myuser從ip為192.168.1.6的主機連線到mysql伺服器的dk資料庫,並使用mypassword作為密碼
grant all privileges on dk.* to 'myuser'@'192.168.1.3' identified by 'mypassword' with grant option;
flush
privileges;
我用的第乙個方法,剛開始發現不行,在網上查了一下,少執行乙個語句 mysql>flush rivileges 使修改生效.就可以了
drop user admin@localhost;(@不加預設為「%」)
revoke delete on test.* from admin@'localhost';
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;
使用mysqladmin:
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;
修改root密碼:
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)
mysql> select md5('hello');
+----------------------------------+
| md5('hello')
|+----------------------------------+
| 5d41402abc4b2a76b9719d911017c592 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select sha1('abc');
-> 'a9993e364706816aba3e25717850c26c9cd0d89d'
sha1()是為字串算出乙個 sha1 160位元檢查和,如rfc 3174 (安全雜湊演算法)中所述。
grant select (cur_url,pre_url) on test.abc to admin@localhost;
CentOS常用使用者管理命令
由於工作原因接觸到centos的機會越來越多,時間也越來越長,各種linux的命令一股腦的都進入大腦當中。由於命令太多,一段時間內不去接觸 伺服器的話很容易會生疏,想想是時候該總結一下centos常用的命令了,一是能夠加深記憶,同時也分享給各位。本文主要涉及到的linux命令與用 戶 組的管理有關,...
mysql 帳戶管理 MySQL常用使用者管理命令
文章目錄 隱藏 1 新增使用者 2 刪除使用者 3 許可權 4 建立使用者授權一起實現 5 限制使用者資源 6 使用者密碼設定 7 關於加密 8 授權精確到列 1 新增使用者 本機訪問許可權 mysql grant all privileges on to username localhost id...
mysql使用者資源管理 MySQL常用使用者管理命令
1 新增使用者 本機訪問許可權 mysql grant all privileges on to username localhost identified by password with grant option 遠端訪問許可權 mysql grant all privileges on to ...