- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機(jī)構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機(jī)構(gòu):新網(wǎng)數(shù)碼
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"
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP