MySQL常用使用者管理命令

2021-06-10 07:26:03 字數 3695 閱讀 9575

**:

本機訪問許可權:

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 ...