激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - mysql命令行下用戶管理方法分享

mysql命令行下用戶管理方法分享

2019-12-04 13:44海底蒼鷹 Mysql

如果有mysql管理工具phpmyadmin的話,我們可以通過圖形畫界面來對用戶進行管理,但是如果沒有phpmyadmin這樣的管理工具怎么辦呢

mysql安裝后好,會有一個名字為mysql的數據庫,存放用戶的表是user,mysql數據庫的用戶管理就是圍繞這個表展開的,當然還有一些表,例如:tables_priv,procs_priv,clumns_priv,information_schema數據庫里面的USER_PRIVILEGES等。 

如果有mysql管理工具phpmyadmin的話,我們可以通過圖形畫界面來對用戶進行管理,但是如果沒有phpmyadmin這樣的管理工具怎么辦呢?這個時候,我們可以通過命令行執行sql語句來管理mysql的用戶。 

一,添加用戶 

1,create user 

語法: 

CREATE USER user_specification 
[, user_specification] ... 

user_specification: 
user [IDENTIFIED BY [PASSWORD] 'password'] 
實例: 

復制代碼代碼如下:


mysql> create user '44'@'127.0.0.1'; //創建一個44用戶 
Query OK, 0 rows affected (0.00 sec) 

mysql> create user '33'@'localhost' identified by 'aaaa'; //創建一個33用戶,密碼為aaaa 
Query OK, 0 rows affected (0.00 sec) 

mysql> select * from mysql.user where user='33' or user='44'\G; //查看一下mysql下的user 


create user 雖然可以創建用戶,但是它只是創建用戶,并沒有給用戶分配置權限,所以一般被 grant命令所取代。 

2,grant 

語法: 

GRANT 
priv_type [(column_list)] 
[, priv_type [(column_list)]] ... 
ON [object_type] priv_level 
TO user_specification [, user_specification] ... 
[REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}] 
[WITH with_option ...] 

object_type: 
TABLE 
| FUNCTION 
| PROCEDURE 

priv_level: 

| *.* 
| db_name.* 
| db_name.tbl_name 
| tbl_name 
| db_name.routine_name 

user_specification: 
user [IDENTIFIED BY [PASSWORD] 'password'] 

ssl_option: 
SSL 
| X509 #要求x509證書 
| CIPHER 'cipher' #加密算法 
| ISSUER 'issuer' #證書發行商 
| SUBJECT 'subject' #主題 

with_option: 
GRANT OPTION 
| MAX_QUERIES_PER_HOUR count #每小時最多執行多少條sql 
| MAX_UPDATES_PER_HOUR count #每小時最多更新多少條數據 
| MAX_CONNECTIONS_PER_HOUR count #每小時最大的聯接數是多少 
| MAX_USER_CONNECTIONS count #最大用戶聯接數 
不要被上面的語法嚇倒,其實理解什么意思,就很容易掌握。我是這樣理解的。 

grant 權限 on 應用范圍(數據庫表,方法等) to 用戶(用@隔開,前面是用戶名后面是主機名'用戶名'@'主機名') identified by 密碼 require 要求什么的 with 對用戶的進行的執行sql的條數控制。 

個人覺得,只要記得上面幾個紅色的關鍵詞,基本上這個命令就掌握了。 

Privilege

Meaning

ALL [PRIVILEGES]

所有權限

ALTER

可以使用alter table

ALTER ROUTINE

可以使用alter routine

CREATE

可以創建數據庫和表

CREATE ROUTINE

可以使用create routine

CREATE TEMPORARY TABLES

可以使用臨時表

CREATE USER

可以對用戶進添加,刪除,重命名,撤銷權限

CREATE VIEW

可以創建和修改視圖

DELETE

可以刪除數據

DROP

可能刪除數據庫,表,視圖等

EVENT

可以使用事件高度器

EXECUTE

可以執行routine

FILE

可以在服務器讀寫文件

GRANT OPTION

用戶有權對自己添加的用衣授權

INDEX

可以創建,刪除索引

INSERT

可以插入

LOCK TABLES

可以鎖定表

PROCESS

可以使用SHOW PROCESSLIST來查看mysql當前用戶的執行sql情況

REFERENCES

Not implemented

RELOAD

可以使用刷新功能

REPLICATION CLIENT

用戶可以進行主從同步

REPLICATION SLAVE

主從同步時,從服務器可以從主服務器讀取binary log

SELECT

可以查找

SHOW DATABASES

可以使用show databases來查看所有數據庫

SHOW VIEW

可以使用show view來查看視圖

SHUTDOWN

可以使用mysqladmin中的參數shutdown

SUPER

Enable use of other adminstrative operations such as CHANGE MASTER TOKILLPURGE BINARY LOGSSET GLOBAL, and mysqladmin debug command

TRIGGER

可以使用觸發器

UPDATE

可以進行理會新操作

USAGE

無特權


實例: 

復制代碼代碼如下:


grant all ON test.* TO 'test'@'localhost'; //test用戶擁有test數據庫下的所有操作 
grant select,update on test.user to 'test'@'localhost'; //test用戶可以對test數據庫下user表,進行查找和更新操作 
//test用戶的的密碼是111111,對user表中的name字段有讀取權限,對id,name有更新權限 
grant select(name),update(id,name) on test.user to 'test'@'localhost' identified by '111111'; 
//test用戶對所有數據庫擁有所有權力,并且要求ssl加密 
grant all privileges on *.* to 'test'@'%' identified by '123456' require ssl 


當添加完用戶后,別忘 了 flush privileges; 

二,刪除用戶 

語法: 

DROP USER user [, user] ... 
實例: 

復制代碼代碼如下:


drop user 'test2'@'localhost'; //當用drop刪除用戶進,tables_priv,procs_priv等表中的數據也會被刪除 


在這里為什么要用'test2'@'localhost'當用戶名,而不是直接test2呢,因為mysql.user這張表,是根用戶名和host名決定一個用戶,你可查看一下表結構就知道了。 

show create table mysql.user\G;你會發現有這個東西PRIMARY KEY (`Host`,`User`),表示聯合主鍵 

三,修改用戶 

語法: 

RENAME USER old_user TO new_user 
[, old_user TO new_user] ... 
實例: 

復制代碼代碼如下:


rename user 'test2'@'localhost' to 'test'@'%'; 


四,修改權限 

語法: 

REVOKE 
priv_type [(column_list)] 
[, priv_type [(column_list)]] ... 
ON [object_type] priv_level 
FROM user [, user] ... 

REVOKE ALL PRIVILEGES, GRANT OPTION 
FROM user [, user] ... 
grant就給用戶分配權限,revoke是把權限從用戶的身上拿走。 

實例: 

復制代碼代碼如下:


mysql> revoke update on *.* from 'tank'@'localhost'; 
Query OK, 0 rows affected (0.00 sec) 

mysql> select mysql.user.update_priv from mysql.user where user='tank' and host='localhost'; 
+-------------+ 
| update_priv | 
+-------------+ 

+-------------+ 
1 row in set (0.00 sec) 


去掉tank@localhost這個用戶的更新功能,這個是去掉一個權限,如果我要全部去掉怎么辦呢,一個一個寫太麻煩了,看下面的一個例子 

復制代碼代碼如下:


mysql> revoke all privileges ,grant option from '33'@'localhost'; 
Query OK, 0 rows affected (0.00 sec) 

mysql> flush privileges; 
Query OK, 0 rows affected (0.01 sec) 


用掉33@localhost這個用戶的所有權限 

作者:海底蒼鷹

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九热精彩视频 | 鲁一鲁一鲁一鲁一曰综合网 | 国产精品久久久久久久久久久天堂 | 九一国产精品 | 亚洲成人黄色片 | 精品国产一区二区三区四区阿崩 | 中文字幕观看 | www.69色| 欧美日韩在线免费观看 | 国产高潮好爽受不了了夜色 | 久久久久久久国产a∨ | 亚洲网站在线观看视频 | www噜噜偷拍在线视频 | 成人做爰高潮片免费视频韩国 | 国产精品久久久久久久久久久久午夜 | 视频一区二区三区在线播放 | 久久成人在线观看 | 欧美一区二区三区中文字幕 | 国产毛片网站 | 澳门一级淫片免费视频 | 亚洲一区二区三区四区精品 | 国产午夜亚洲精品 | 中文字幕精品久久 | 色天使中文字幕 | 国产欧美日韩视频在线观看 | 久久久婷婷一区二区三区不卡 | 欧美18一12sex性处hd | 偿还电影免费 | 最新中文字幕在线 | 91九色精品国产 | 成人免费av在线 | 国产精品视频在线免费观看 | 中文字幕在线日韩 | 久久久久国产精品久久久久 | 污黄视频在线播放 | 天天干天天透 | 意大利av在线 | 欧美日韩大片在线观看 | 欧美一级片 在线播放 | 91成人影库| 国产精品久久久久久久久久免 |