文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL数据库用户权限如何管理

2023-07-02 08:45

关注

这篇文章主要介绍“MySQL数据库用户权限如何管理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL数据库用户权限如何管理”文章能帮助大家解决问题。

1、用户管理

mysql的用户信息保存在了mysql.user中:

select * from mysql.user\G*************************** 5. row ***************************                    Host: localhost                    User: root             Select_priv: Y             Insert_priv: Y             Update_priv: Y             Delete_priv: Y             Create_priv: Y               Drop_priv: Y             Reload_priv: Y           Shutdown_priv: Y            Process_priv: Y               File_priv: Y              Grant_priv: Y         References_priv: Y              Index_priv: Y              Alter_priv: Y            Show_db_priv: Y              Super_priv: Y   Create_tmp_table_priv: Y        Lock_tables_priv: Y            Execute_priv: Y         Repl_slave_priv: Y        Repl_client_priv: Y        Create_view_priv: Y          Show_view_priv: Y     Create_routine_priv: Y      Alter_routine_priv: Y        Create_user_priv: Y              Event_priv: Y            Trigger_priv: Y  Create_tablespace_priv: Y                ssl_type:              ssl_cipher:             x509_issuer:            x509_subject:           max_questions: 0             max_updates: 0         max_connections: 0    max_user_connections: 0                  plugin: mysql_native_password   authentication_string: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9        password_expired: N   password_last_changed: 2020-02-05 22:46:27       password_lifetime: NULL          account_locked: N        Create_role_priv: Y          Drop_role_priv: Y  Password_reuse_history: NULL     Password_reuse_time: NULLPassword_require_current: NULL         User_attributes: NULL

主要字段:

主机名和用户名共同组成复合主键Host 主机名,允许访问的客户端,*代表所有客户端都可以访问User 用户名

1.1、创建用户

方式一:直接使用root用户在mysql.user中插入记录(不推荐)

方式二:使用创建用户的SQL指令

基本语法:

create user 用户 identified by 明文密码-- 用户 用户名@主机地址-- 主机地址: '' 或者 %

示例:

create user 'user1'@'%' identified by '123456';-- 查看mysql.user表中是否存在新用户select user, host from mysql.user where user = 'user1';+-------+------+| user  | host |+-------+------+| user1 | %    |+-------+------+

简化版创建用户,谁都可以访问,不需要密码,不安全

create user user2;

1.2、删除用户

user和host具有唯一性

基本语法:

drop user 用户名@host;

示例:

mysql> drop user 'user1'@'%';Query OK, 0 rows affected (0.01 sec)mysql> select user, host from mysql.user where user = 'user1';Empty set (0.00 sec)

1.3、修改用户密码

需要使用函数对密码进行加密password()

方式一:使用专门的修改密码指令

基本语法:

set password for 用户 = password(明文密码);set password for 'user1'@'%' = password(654321);-- mysql5.7后续版本,8.0可用alter user 'user1'@'%' identified by '654321';

方式二:使用更新语法

基本语法:

update mysql.user set password = password(明文密码) where user = '' and host = '';update mysql.user set password = password('123456') where user = 'user1' and host = '%';-- 8.0报错update mysql.user set authentication_string = password('123456') where user = 'user1' and host = '%';

2、权限管理

分为三类:

2.1、授予权限 grant

将权限分配给指定用户

基本语法:

grant 权限列表 on 数据库/*.表名/* to 用户
-- 分配权限 不需要刷新,马上生效grant select on mydatabase.my_student to 'user1'@'%';

2.2、取消权限 revoke

基本语法:

revoke 权限列表 /all privileges on 数据库/*.表/* from 用户
-- 回收权限,不需要刷新,马上生效revoke all privileges on mydatabase.my_student from 'user1'@'%';

2.3、刷新权限 flush

将操作的具体内容同步到对应的表中

基本语法:

flush privileges;

3、密码丢失的解决方案

如果忘记root用户的密码

# 停止服务mysql.server stop;# 停止不了可以直接杀死进程ps aux|grep mysqlkill <pid># 重新启动服务,跳过权限mysqld --skip-grant-tables# 直接无用户名登录mysql

非常危险,任何客户端不需要任何用户信息都可以直接登录,而且是root权限

修改root密码:

alter user 'root'@'localhost' identified by '123456';

修改完后,关闭mysql服务器,重启

关于“MySQL数据库用户权限如何管理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯