MySQL:用户权限管理
禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取!
权限管理#
当用户访问服务器时,我们需要对不同的用户设置不同的权限,例如我用户一拥有读写权限,而用户二只拥有读的权限。如果没有对权限进行限制,数据库将会被任意的用户随意的修改,例如“删库跑路”,将没有任何安全性可言。
创建和删除用户#
查看用户名单#
MySQL 用户的账号信息存储于 mysql 数据库中的 user 表中,可以用 SELECT 语句查看用户名单。
创建用户#
使用 CREATE USER 命令可以创建一个用户账号,需要给出用户名和密码。
创建成功之后,就可以在 USER 表中看到。
当然也可以往表中插入行,但是保存用户信息的表是很重要的,直接插入的做法并不安全。
删除用户#
更改数据#
使用 RENAME USER 语句可以重命名。
使用 SET PASSWORD语句可以修改密码,其中密码必须拿去 Password() 函数进行加密。
访问权限#
赋予权限#
使用 SHOW GRANTS FOR 语句可以访问用户的权限,一般对于新创建的用户来说,没有任何权限,除了登录以外啥都做不了。
其中 “USAGE ON .” 就表示没有任何权限,为了设置权限需要使用 GRANT 语句来赋予。此时需要提供 3 个信息:赋予的权限、权限使用的数据库或表、用户名,语法框架为:
GRANT 权限名 ON 数据库和表名 TO 用户名;
撤销权限#
撤销权限是赋予权限的反操作,可以使用 REVOKE 语句实现。
权限列表#
使用 SHOW 语句可以查看。
SHOW PRIVILEGES;
选用字符集#
字符集#
对于数据库的用户,可能使用英文或者中文,不同的语言需要用不同的字符集来存储。所谓字符集就是字母和符号的集合,MySQL 支持不同的字符集,编码指的是某个字符集成员的内部表示,校对指定了字符集如何比较。
查看可使用的字符集,可以使用 SHOW 语句查看可使用的字符集和校对顺序:
SHOW CHARACTER SET;
SHOW COLLATION;
字符集和校对顺序的设置#
对数据库设置#
在创建数据库时,可以设置默认的字符集和校对顺序。
SHOW VARIABLES LIKE 'character%';
SHOW VARIABLES LIKE 'collarion%';
对表设置#
对表设置字符集,需要将信息跟在 CREATE 语句之后,如果没有指定就会使用默认的设置。
CREATE TABLE table_name
(
……
)
DEFAULT CHARACTER SET 'character%'
COLLATION 'collarion%';
对列设置#
如果要对列设置,需要在 CREATE 语句中指定。
CREATE TABLE table_name
(
column_name VARCHAR(10) CHARACTER SET 'character%'
COLLATION 'collarion%';
)
检索时设置#
如果在检索时需要使用某种校对顺序来排序,可以在 ORDER BY 语句后设置。
ORDER BY variable… COLLATION 'collarion%';
当然了,在 GROUP BY、HAVING、聚集函数和别名都可以指定校对顺序。
参考资料#
《MySQL Crash Course》[英] Ben Forta 著,刘晓霞 钟鸣 译,人民邮电出版社
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2020-04-25 Wireshark实验——DNS 域名系统