日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql使用参数指定用户_mysql-用户账号及权限管理

發布時間:2024/9/30 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql使用参数指定用户_mysql-用户账号及权限管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用戶賬號管理

添加用戶

使用create創建用戶

語法格式:

CREATE USER [ IDENTIFIED BY [ PASSWORD ] ‘password‘ ] [ ,用戶 [ IDENTIFIED BY [ PASSWORD ] ‘password‘ ]]

例:

1.CREATE USER ‘username‘@‘localhost‘ IDENTIFIED BY ‘passwd‘;

使用insert新建用戶

語法格式:

INSERT INTO mysql.user(Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subject) VALUES (‘hostname‘, ‘username‘, PASSWORD(‘password‘), ‘‘, ‘‘, ‘‘);

例:

1.INSERT INTO mysql.user(Host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject) VALUES (‘localhost‘,‘test‘,PASSWORD(‘passwd‘),‘‘,‘‘,‘‘);

2.FLUSH PRIVILEGES;

使用GRANT新建用戶

語法格式:

GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] ‘password‘]

priv_type 參數表示新用戶的權限;

database.table 參數表示新用戶的權限范圍,即只能在指定的數據庫和表上使用自己的權限;

user 參數指定新用戶的賬號,由用戶名和主機名構成;

IDENTIFIED BY 關鍵字用來設置密碼;

password 參數表示新用戶的密碼。

例:

1.GRANT SELECT ON *.* TO ‘test‘@localhost IDENTIFIED BY ‘passwd‘;

修改用戶

修改用戶名

語法格式:

RENAME USER TO

:系統中已經存在的 MySQL 用戶賬號。

:新的 MySQL 用戶賬號。

RENAME USER 語句用于對原有的 MySQL 用戶進行重命名。

若系統中舊賬戶不存在或者新賬戶已存在,該語句執行時會出現錯誤。

使用 RENAME USER 語句,必須擁有 mysql 數據庫的 UPDATE 權限或全局 CREATE USER 權限。

例:

RENAME USER ‘test1‘@‘localhost‘ TO ‘test02‘@‘localhost‘;

修改用戶密碼

使用set修改

語法格式:

SET PASSWORD FOR ‘username‘@‘hostname‘ = PASSWORD(‘newpasswd‘);

使用UPDATE修改

語法格式:

UPDATE mysql.user SET authentication_string = PASSWORD(‘newpasswd‘) WHERE User=‘username‘ AND Host=‘hostname‘;FLUSH PRIVILEGES;

例:

mysql>UPDATE mysql.user SET authentication_string = PASSWORD(‘newpasswd‘) WHERE User=‘test‘ AND Host=‘localhost‘;

mysql>FlUSH PRIVILEGES;

使用GRANT修改

語法格式:

GRANT USAGE ON *.* TO ‘user‘@‘hostname‘ IDENTIFIED BY ‘newpasswd‘;

例:

GRANT USAGE ON *.* TO ‘test‘@‘localhost‘ IDENTIFIED BY ‘newpasswd‘;

刪除用戶

使用DROP刪除用戶

語法格式:

DROP USER ‘username‘@‘host‘[,[email?protected]]...

注意:用戶的刪除不會影響他們之前所創建的表、索引或其他數據庫對象,MySQL不會記錄是誰創建了這些對象

例:

DROP USER ‘test1‘@‘localhost‘;

使用DELETE刪除用戶

語法格式:

DELETE FROM mysql.user WHERE Host=‘hostname‘ AND User=‘username‘;

例:

DELETE FROM mysql.user WHERE Host=‘localhost‘ AND User=‘test1‘;

查看用戶權限

使用SELECT查詢

語法格式:

SELETE * FROM ‘username‘@‘hostname‘;

注意:

1.新建用戶只有登錄權限,沒有任何其它權限,不能查詢user表

使用SHOW GRANTS FOR查詢

SHOW GRANTS FOR ‘username‘@‘host‘; #查看指定用戶的權限

SHOW GRANTS FOR CURRENT_USER; #查看當前用戶的權限

用戶權限管理

賦予權限

語法格式:

GRANT priv_type [(column_list)] ON database.table TO user [IDENTIFIED BY [PASSWORD] ‘password‘]

[, user[IDENTIFIED BY [PASSWORD] ‘password‘]] ...

[WITH with_option [with_option]...]

priv_type 參數表示權限類型;

columns_list 參數表示權限作用于哪些列上,省略該參數時,表示作用于整個表;

database.table 用于指定權限的級別;

user 參數表示用戶賬戶,由用戶名和主機名構成,格式是“‘username‘@‘hostname‘”;

IDENTIFIED BY 參數用來為用戶設置密碼;

password 參數是用戶的新密碼。

WITH 關鍵字后面帶有一個或多個 with_option 參數。這個參數有 5 個選項,詳細介紹如下:

GRANT OPTION:被授權的用戶可以將這些權限賦予給別的用戶;

MAX_QUERIES_PER_HOUR count:設置每個小時可以允許執行 count 次查詢;

MAX_UPDATES_PER_HOUR count:設置每個小時可以允許執行 count 次更新;

MAX_CONNECTIONS_PER_HOUR count:設置每小時可以建立 count 個連接;

MAX_USER_CONNECTIONS count:設置單個用戶可以同時具有的 count 個連接。

1.授予數據庫權限時,可以指定為以下值

SELECTSelect_priv表示授予用戶可以使用 SELECT 語句訪問特定數據庫中所有表和視圖的權限。

INSERTInsert_priv表示授予用戶可以使用 INSERT 語句向特定數據庫中所有表添加數據行的權限。

DELETEDelete_priv表示授予用戶可以使用 DELETE 語句刪除特定數據庫中所有表的數據行的權限。

UPDATEUpdate_priv表示授予用戶可以使用 UPDATE 語句更新特定數據庫中所有數據表的值的權限。

REFERENCESReferences_priv表示授予用戶可以創建指向特定的數據庫中的表外鍵的權限。

CREATECreate_priv表示授權用戶可以使用 CREATE TABLE 語句在特定數據庫中創建新表的權限。

ALTERAlter_priv 表示授予用戶可以使用 ALTER TABLE 語句修改特定數據庫中所有數據表的權限。

SHOW VIEWShow_view_priv表示授予用戶可以查看特定數據庫中已有視圖的視圖定義的權限。

CREATE ROUTINECreate_routine_priv表示授予用戶可以為特定的數據庫創建存儲過程和存儲函數的權限。

ALTER ROUTINEAlter_routine_priv表示授予用戶可以更新和刪除數據庫中已有的存儲過程和存儲函數的權限。

INDEXIndex_priv表示授予用戶可以在特定數據庫中的所有數據表上定義和刪除索引的權限。

DROPDrop_priv表示授予用戶可以刪除特定數據庫中所有表和視圖的權限。

CREATE TEMPORARY TABLESCreate_tmp_table_priv表示授予用戶可以在特定數據庫中創建臨時表的權限。

CREATE VIEWCreate_view_priv表示授予用戶可以在特定數據庫中創建新的視圖的權限。

EXECUTE ROUTINEExecute_priv表示授予用戶可以調用特定數據庫的存儲過程和存儲函數的權限。

LOCK TABLESLock_tables_priv表示授予用戶可以鎖定特定數據庫的已有數據表的權限。

ALL 或 ALL PRIVILEGES 或 SUPERSuper_priv表示以上所有權限/超級權限

2.授予表權限時,可以指定為以下值

SELECTSelect_priv授予用戶可以使用 SELECT 語句進行訪問特定表的權限

INSERTInsert_priv授予用戶可以使用 INSERT 語句向一個特定表中添加數據行的權限

DELETEDelete_priv授予用戶可以使用 DELETE 語句從一個特定表中刪除數據行的權限

DROPDrop_priv授予用戶可以刪除數據表的權限

UPDATEUpdate_priv授予用戶可以使用 UPDATE 語句更新特定數據表的權限

ALTERAlter_priv 授予用戶可以使用 ALTER TABLE 語句修改數據表的權限

REFERENCESReferences_priv授予用戶可以創建一個外鍵來參照特定數據表的權限

CREATECreate_priv授予用戶可以使用特定的名字創建一個數據表的權限

INDEXIndex_priv授予用戶可以在表上定義索引的權限

ALL 或 ALL PRIVILEGES 或 SUPERSuper_priv所有的權限名

例:

1. GRANT SELECT,INSERT ON *.* TO ‘test‘@‘localhost‘ IDENTIFIED BY ‘passwd‘ WITH GRANT OPTION;

回收權限

回收用戶的某些特定權限

語法格式:

REVOKE priv_type [(column_list)]... ON database.table FROM user [, user]...

priv_type 參數表示權限的類型;

column_list 參數表示權限作用于哪些列上,沒有該參數時作用于整個表上;

user 參數由用戶名和主機名構成,格式為“username‘@‘hostname‘”。

例:

REVOKE SELECT,DROP ON *.* FROM ‘test‘@‘localhost‘;

回收特定用戶的所有權限

語法格式:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

REVOKE 語法和 GRANT 語句的語法格式相似,但具有相反的效果

要使用 REVOKE 語句,必須擁有 MySQL 數據庫的全局 CREATE USER 權限或 UPDATE 權限

例:

REVOKE ALL PRIVILEGES,GRANT OPTION FROM ‘test‘@‘localhost‘;

原文:https://www.cnblogs.com/wanwz/p/12875454.html

總結

以上是生活随笔為你收集整理的mysql使用参数指定用户_mysql-用户账号及权限管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。