2020-12-14 18:39阅读: 1174评论: 0推荐: 0

MySQL创建用户和分配权限

回顾今天的数据库实验⊂(ο・㉨・ο)⊃

先新建一个测试数据库

image-20201214172412783image-20201214172412783

再创建个表填些数据

image-20201214172458012image-20201214172458012

一、查看用户

查看用户并没有直接的SQL语句,而是进入 mysql 数据库的 user 表(这个mysql库和user表都是一开始就有的),直接用 select * from user;来查看有什么用户

use mysql;
select * from user;

二、创建用户

create user 'user_name'@'host' identified by 'password';
  • user_name:要创建用户的名字。
  • host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
  • password:新创建用户的登陆数据库密码,如果没密码可以不写。

创建不同限制的账户

-- 创建账户,"%"是无登录限制的,“123”是密码
create user 'liwker'@'%' identified by '123';

-- "localhost"是限制为本地登录
create user 'liwker'@'localhost' identified by '123';

-- 这个是限制 ip 为 10.11.20.30 的主机访问
create user 'liwker'@'10.11.20.30' identified by '123';

二、分配权限

grant privileges on databasename.tablename to 'username'@'host';
  • privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
  • databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 " *.* ",* 是一个通配符,表示全部。
  • ’username‘@‘host’:表示授权给哪个用户,username 的引号可以不加哦,但 host 必须加。

为账户分配不同的权限

-- Liwker库的student表的 只读权限 分配给 liwker 账户
grant select on Liwker.student to liwker@'%';

-- Liwker库(所有表)的 多个权限 分配给 liwker 账户
grant select,insert,delete,update on Liwker.* to liwker@'%';

-- Liwker库的 所有权限 分配给 liwker 账户
grant all on Liwker.* to liwker@'%';

-- 所有库的 所有权限 分配给 liwker 账户
grant all on *.* to liwker@'%';

-- 刷新权限
flush privileges;

权限列表:

  • ALTER: 修改表和索引。
  • CREATE: 创建数据库和表。
  • DELETE: 删除表中已有的记录。
  • DROP: 抛弃(删除)数据库和表。
  • INDEX: 创建或抛弃索引。
  • INSERT: 向表中插入新行。
  • REFERENCE: 未用。
  • SELECT: 检索表中的记录。
  • UPDATE: 修改现存表记录。
  • FILE: 读或写服务器上的文件。
  • PROCESS: 查看服务器中执行的线程信息或杀死线程。
  • RELOAD: 重载授权表或清空日志、主机缓存或表缓存。
  • SHUTDOWN: 关闭服务器。
  • ALL: 所有权限,ALL PRIVILEGES同义词。
  • USAGE: 特殊的 "无权限" 权限.

可根据上面的权限字段 为用户分配相应的权限

注意:

用以上命令授权的用户不能给其他用户授权,如果想这个用户能够给其他用户授权,就要在后面加上 WITH GRANT OPTION 如:

grant all on *.* to 'liwker'@'%' with grant option;

补充 为用户创建数据库:

create database basename DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

三、删除用户

drop user 'username'@'host';

四、设置与更改用户密码

set password for 'username'@'host' = password('newpassword');

-- 如果是设置当前用户的密码
set password = password('newpassword');

五、撤销账户权限

-- 回收权限,格式和分配差不多,grant -> revoke , to -> from
revoke select on Liwker.student from liwker@'%';

但注意:

若授予权利是这样写:grant select on *.* to liwker@'%';
则用 revoke select on Liwker.student to liwker@'%'; 是不能撤销用户 liwker 对 Liwker.student 中的 SELECT 权利的。

反过来 grant select on Liwker.student to liwker@'%'; 授予权力
revoke select on *.* to liwker@'%'; 也是不能用来撤销用户 liwker 对 Liwker 库的 student 表的SELECT 权利的

六、测试

先创建一个新账户

image-20201214173710214image-20201214173710214

再给他分配一些操作权限

image-20201214173932905image-20201214173932905

接下来,就打开cmd用新账户测试一下
先登录这个账户

image-20201214174051967image-20201214174051967

可以看到除了默认数据库,只能看到分配给的数据库和表

image-20201214174223713image-20201214174223713

用分配给的不同SQL语句测试一下

image-20201214174549406image-20201214174549406

再试一试没权限的

image-20201214174720481image-20201214174720481

这时,我们可以在管理台给他新增这个权限

image-20201214174834028image-20201214174834028

在测试台重新试一试刚刚的 delete

image-20201214174959311image-20201214174959311

再试一试回收权限,管理台回收 delete 权限

image-20201214175431291image-20201214175431291

测试台,这下就不行了

image-20201214175454114image-20201214175454114

最后就试一试删除这个账户

image-20201214183646494image-20201214183646494

image-20201214183713167image-20201214183713167

成功。

本文作者:Liwker

本文链接:https://www.cnblogs.com/Liwker/p/14134822.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Liwker  阅读(1174)  评论(0编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· 深度对比:PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 灰色と青(翻自 米津玄師) kobasolo,春茶
  2. 2 スパークル nin
  3. 3 愛にできることはまだあるかい(翻自 RADWIMPS) 春茶
  4. 4 夏恋慕 kobasolo,春茶
  5. 5 花に亡霊 ヨルシカ
  6. 6 フラレガイガール(翻自 さユり) 春茶
  7. 7 ふたりごと(翻自 RADWIMPS) 茶泡饭,kobasolo,春茶
  8. 8 Lemon 米津玄師
  9. 9 君と100回目の恋(movie ver.) 葵海 starring miwa
  10. 10 風になる つじあやの
  11. 11 Letter Song ヲタみん
  12. 12 my sweetest one Aimer
  13. 13 Ref:rain Aimer
  14. 14 YELLOW(翻自 神山羊) 麦吉_Maggie
灰色と青(翻自 米津玄師) - kobasolo,春茶
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作曲 : 米津玄師

作词 : 米津玄師

袖丈が覚束ない夏の終わり

明け方の電車に揺られて思い出した

懐かしいあの風景

たくさんの遠回りを繰り返して

同じような街並みがただ通り過ぎた

窓に僕が写ってる

君は今もあの頃みたいにいるのだろうか

ひしゃげて曲がったあの自転車で走り回った

馬鹿ばかしい綱渡り 膝に滲んだ血

今はなんだかひどく虚しい

どれだけ背丈が変わろうとも

変わらない何かがありますように

くだらない面影に励まされ

今も歌う今も歌う今も歌う

···

忙しなく街を走るタクシーに

ぼんやりと背負われたままくしゃみをした

窓の外を眺める

心から震えたあの瞬間に

もう一度出会えたらいいと強く思う

忘れることはないんだ

君は今もあの頃みたいにいるのだろうか

靴を片方茂みに落として探し回った

何があろうと僕らはきっと上手くいくと

無邪気に笑えた 日々を憶えている

どれだけ無様に傷つこうとも

終わらない毎日に花束を

くだらない面影を追いかけて

今も歌う今も歌う今も歌う

朝日が昇る前の欠けた月を

君もどこかで見ているかな

何故か訳もないのに胸が痛くて

滲む顔 霞む色

今更悲しいと叫ぶには

あまりに全てが遅すぎたかな

もう一度初めから歩けるなら

すれ違うように君に会いたい

どれだけ背丈が変わろうとも

変わらない何かがありますように

くだらない面影に励まされ

今も歌う今も歌う今も歌う

朝日が昇る前の欠けた月を

君もどこかで見ているかな

何もないと笑える朝日がきて

始まりは青い色`