mysql基础--数据库管理
mysql基础--数据库管理
mysql中的用户,都存储在系统数据库mysql中的user表中
-
重要字段:
- host:运行登入的“位置”,localhost表示该用户只允许本地登入,也可以指定IP地址:192.168.1.100
- user:用户名
- authentication_string:密码,是通过mysql的password()函数加密之后的密码
-
意义:
当我们做项目开发时,可以根据不同的开发人员,赋予不同mysql操作权限,管理员root权限太大,需要创建子账户来分配不同权限
不同的用户登入到DBMS后,根据相应权限,可操作的数据库和数据对象(表、视图、触发器)都不一样
-
操作
-- 创建用户,同时指定密码(密码会自动使用password函数加密后放入数据库)
create user ‘用户名’ @ ‘允许登入的位置’ identified by '密码';
-- 删除用户
drop user '用户名' @ '允许登入的位置';
-- 修改自己密码
set password = password(‘abcdef’)
-- 修改其他人密码,需要权限
set password for '用户名'@'访问地址' = password(‘abcdef’)
- 权限
-
授权
基本语法:grant 权限列表 on 库.对象名 to '用户名' @ '登入位置' [identified by '密码']
'用户名',这个单引号至真的单引号,和反引号不同,反引号只用于规避关键字`- 权限列表:多个权限用逗号分隔
- *.*:表示本系统中的所有数据库的所有对象
- 库.*:表示某个数据库所有的数据对象
- identified by :可以省略,如果写了-1.用户存在,修改密码 2.用户不存在,创建该用户
-
回收权限
基本语法:revoke 权限列表 on 库.对象名 from ‘用户名’@‘登入位置’
-
权限生效
如果未生效,可以执行:flush privileges;
-
细节
- 创建用户时候,如果不指定Host,则为%,%表示所有IP都有链接权限 create user xxx;
- 你可以这样指定:create user ‘xxx’@‘192.168.1.%’表示用户在192.168.1.*的ip可以登入
- 在删除用户时,如果host不是%,需要明确指定‘用户’@‘host值’
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY