MySQL(管理员常用命令)

文章目录

✨一 创建用户

✨二 授权

✨授权原则说明

✨二 查看用户权限

✨ 四 设置和更改用户密码

✨ 五 撤销用户权限

✨ 六 删除用户

attention:MySQL8.0中无法在创建用户时,直接授予权限。

必须先创建用户,再给与权限

✨一 创建用户

    1、CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:username: 创建的用户名

host: 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

‘%’ :哪台主机上可以登录mysql,%是通配符指的是任意IP,也可以指定具体的IP,或者localhost代表本机才可以登录。

password: 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器例子:

1、CREATE USER 'niuben'@'localhost' IDENTIFIED BY '123456';

2、CREATE USER 'niuben'@'192.168.1.101_' IDENDIFIED BY '123456';

3、CREATE USER 'niuben'@'%' IDENTIFIED BY '123456';

4、CREATE USER 'niuben'@'%' IDENTIFIED BY '';

5、CREATE USER 'niuben'@'%';

例如:

mysql> create user 'u1'@'%' identified by 'dir99';

Query OK, 0 rows affected (0.01 sec)

✨二 授权

GRANT privileges ON databasename.tablename TO 'username'@'host' [with grant option];

grant命令说明:

• 💦priveleges (权限列表),可以是all,表⽰所有权限,也可以是select、update等权限,多个权限之间⽤逗号分开。

• 💦ON ⽤来指定权限针对哪些库和表,格式为数据库.表名 ,点号前⾯⽤来指定数据库名,点号后⾯⽤来指定表名,. 表⽰所有数据库所有表。

• 💦TO 表⽰将权限赋予某个⽤户, 格式为username@host,@前⾯为⽤户名,@后⾯接限制的主机,可以是IP、IP段、域名以及%,%表⽰任何地⽅。

• 💦WITH GRANT OPTION 这个选项表⽰该⽤户可以将⾃⼰拥有的权限授权给别⼈。注意:经常有⼈在创建操作⽤户的时候不指定WITH GRANT OPTION选项导致后来该⽤户不能使⽤GRANT命令创建⽤户或者给其它⽤户授权。 备注:可以使⽤GRANT重复给⽤户添加权限,权限叠加,⽐如你先给⽤户添加⼀个select权限,然后又给⽤户添加⼀个insert权限,那么该⽤户就同时拥有了select和insert权限。

GRANT SELECT, INSERT ON test.user TO 'u2'@'%';

GRANT ALL ON *.* TO 'u3'@'%';

GRANT ALL ON mysc0530.* TO 'u4'@'%';

例如:

不规范的语法:

mysql> grant privileges on mysc0530.* to u1;

ERROR 3619 (HY000): Illegal privilege level specified for PRIVILEGES

规范的语法:

mysql> grant all privileges on mysc0530.* to u1;

Query OK, 0 rows affected (0.01 sec)

注意:

用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

mysql> grant all privileges on mysc0530.* to u1 with grant option;

Query OK, 0 rows affected (0.01 sec)

mysql> create user 'u3'@'%' identified by 'dir99';

Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on mysc0530.* to 'u3'@'%';

Query OK, 0 rows affected (0.01 sec)

mysql>

✨ 授权原则说明

• 只授予能满⾜需要的最⼩权限,防⽌⽤户⼲坏事,⽐如⽤户只是需要查询,那就只给

select权限就可以了,不要给⽤户赋予update、insert或者delete权限

• 创建⽤户的时候限制⽤户的登录主机,⼀般是限制成指定IP或者内⽹IP段

• 初始化数据库的时候删除没有密码的⽤户,安装完数据库的时候会⾃动创建⼀些⽤户,这些⽤户默认没有密码

• 为每个⽤户设置满⾜密码复杂度的密码

• 定期清理不需要的⽤户,回收权限或者删除⽤户

✨二 查看用户权限

show grants for 'root'@'localhost';

显示权限:

mysql> show grants for u1;

+--------------------------------------------------+

| Grants for u1@%                                  |

+--------------------------------------------------+

| GRANT USAGE ON *.* TO `u1`@`%`                  |

| GRANT ALL PRIVILEGES ON `mysc0530`.* TO `u1`@`%` |

+--------------------------------------------------+

2 rows in set (0.00 sec)

show grants;

查看当前⽤户的权限

SHOW GRANTS;

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`localhost` WITH GRANT OPTION

GRANT PROXY ON ``@`` TO `root`@`localhost` WITH GRANT OPTION

GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`localhost` WITH GRANT OPTION

✨ 四 设置和更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

方法一:直接更新

alter user '用户名'@'主机范围' identified by '新密码';

测试如下:

mysql> revoke all privileges on mysc0530.* from 'u1'@'%';

Query OK, 0 rows affected (0.01 sec)

方法二:通过修改mysql.user表修改密码

mysql8.0中没有password加密函数,可以用sha\sha1来进行密码的加密

use mysql;

update user set authentication_string = sha1('321') where user =

'test1' and host = '%';

flush privileges;


经测试,没毛病:

mysql> UPDATE user SET authentication_string=sha1("dir999") WHERE user='u1';

Query OK, 1 row affected (0.01 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

✨ 五 撤销用户权限

REVOKE privileges ON databasename.tablename FROM 'username'@'host';

说明:privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL。

如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

例如:

mysql> alter user 'u1'@'%' identified by 'dir999';

Query OK, 0 rows affected (0.01 sec)

✨ 六 删除用户

方法一:

drop user if exists username;


drop的⽅式删除⽤户之后,⽤户下次登录就会起效。

方法二:

delete from user where user='⽤户名' and host='主机';

flush privileges;

注意通过表的⽅式删除的,需要调⽤flush privileges;刷新权限信息(权限启动的时候在内存中保存着,通过表的⽅式修改之后需要刷新⼀下)。

测试如下:

mysql> delete from user where user='u3';

Query OK, 1 row affected (0.01 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容