国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

MySQL用戶管理

2023-06-13 16:34:37 5069

MySQL用戶管理

創(chuàng)建/授權(quán)用戶:

有兩種方式創(chuàng)建MySQL授權(quán)用戶

方法一、通過insert語句直接操作MySQL系統(tǒng)權(quán)限表(此處不再贅述)

方法二、執(zhí)行create user/grant命令(推薦)

注意:

  • 在試用grant命令創(chuàng)建用戶時要注意了,在MySQL5.7.7版本前,如果被授權(quán)的用戶不存在,那么grant語句會自動創(chuàng)建新的賬戶,除非設(shè)置參數(shù)sql_mode 包含 “NO_AUTO_CREATE_USER” 。

  • 但從5.7.7版本開始,默認(rèn)的sql_mode就包含“NO_AUTO_CREATE_USER” (grant語句不再創(chuàng)建新的賬戶)

  • 因此,如果你是用的MySQL版本較新,要注意語法了,需要先用create user創(chuàng)建用戶,再用grant命令賦權(quán)限;

一、創(chuàng)建用戶格式

創(chuàng)建用戶命令一般格式:

create user [用戶名]@[訪問地址] identified by [密碼]

舉例1:創(chuàng)建zhangsan用戶,只是創(chuàng)建用戶并沒有權(quán)限,'localhost'表示只能在本地登錄,無法通過遠(yuǎn)程連接;密碼是 password

CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY 'password';

舉例2:創(chuàng)建lisi用戶,只是創(chuàng)建用戶并沒有權(quán)限,密碼為 password,%通配符表示任何主機(jī)都可以連接(可以遠(yuǎn)程連接),

CREATE USER 'lisi'@'%' IDENTIFIED BY 'password';

舉例3:(5.7.7版本前)的創(chuàng)建用戶并賦予RELOAD,PROCESS權(quán)限 ,在所有的庫和表上;.:代表所有的庫表

GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost' identified by '123456';

二、授權(quán)格式

grant [權(quán)限1,權(quán)限2,權(quán)限3] on *.* to user@'host' identified by 'password'

常用權(quán)限:all privileges、create、drop、select、insert、delete、update

例如,給"zhangsan" 用戶管理員權(quán)限,并且允許該用戶繼續(xù)給別的用戶賦權(quán)限

grant all privileges on *.* to 'zhangsan'@'192.168.1.%' with grant option;mysql

  • all privileges:表示將所有權(quán)限授予給用戶。也可指定具體的權(quán)限,如:SELECT、CREATE、DROP等。

  • on:表示這些權(quán)限對哪些數(shù)據(jù)庫和表生效,格式:數(shù)據(jù)庫名.表名,這里寫“*”表示所有數(shù)據(jù)庫,所有表。如果我要指定將權(quán)限應(yīng)用到test庫的user表中,可以這么寫:test.user

  • to:將權(quán)限授予哪個用戶。格式:”用戶名”@”登錄IP或域名”。%表示沒有限制,在任何主機(jī)都可以登錄。比如:'zhangsan'@'192.168.1.%',表示zhangsan這個用戶只能在192.168.0.* IP段登錄

  • with grant option:通過在grant語句的最后使用該子句,就允許被授權(quán)的用戶把得到的權(quán)限繼續(xù)授給其它用戶

注:使用GRANT添加權(quán)限,權(quán)限會自動疊加,不會覆蓋之前授予的權(quán)限,比如你先給用戶添加一個SELECT權(quán)限,后來又給用戶添加了一個UPDATE權(quán)限,那么該用戶就同時擁有了SELECT和UPDATE權(quán)限。

三. 刪除 mysql 用戶

drop user admin@'localhost';

四. 修改 mysql 用戶密碼

修改用戶密碼的方式包括以下三種:

-- 第一種
ALTER USER 'chenhh'@'localhost' IDENTIFIED BY 'mypassword';
-- 第二種
SET PASSWORD FOR 'chenhh'@'localhost' = PASSWORD('mypassword');
-- 第三種
GRANT USAGE ON *.* TO 'chenhh'@'localhost' IDENTIFIED BY 'mypassword';

如在數(shù)據(jù)庫外命令行中,通過:mysqladmin -u用戶名 -p舊的密碼 password 新密碼

shell> mysqladmin -u user_name -h host_name password "new_password"

 


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: