文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql权限如何有效管理

2024-04-02 19:55

关注

下文主要给大家带来mysql权限如何有效管理,希望这些内容能够带给大家实际用处,这也是我编辑mysql权限如何有效管理这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

一.新建与删除用户

  1. 新建: create user '用户名' identified by '用户密码';

  2. 删除: drop user '用户名'@'本地或远程'; 

    如删除本地用户kkk: drop user 'kkk'@'host';

    注:不管是新建或删除均只有在刷新权限后操作才会生效。

二.设置与更新密码,以加密方式

  1. 设置密码(默认方式):update mysql.user set password=password('***') where user='root'; 

  2. 更新密码(指定用户权限身份):update mysql.user set password=password('新密码') where user="用户名" and host="本地或远程";

    举例如:update mysql.user set password=password('新密码') where user="test" and host="localhost";

    注:设置在刷新权限后生效(flush privileges;)

  3. 忘记root密码(centos为例):

    I: 修改mysql的配置文件: vim /etc/my.cnf

    在[mysqld]下新增skip-grant-tables  保存退出,重启mysql服务

    II:执行 mysql -uroot -p  以空密码方式进入,再以修改密码方式重置密码

三.权限授予与收回(对用户,对库)

  1. 数据库的权限有:

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

  2. 权限授予:

    举例1-限定网段:对root用户开放所有权限但设置只允许10.x.x.x网段内的主机远程连接 如:grant all privileges on *.* to 'root'@'10.%' identified by '****' with grant option; 

    举例2-限定IP:

    grant all privileges on *.* to 'root'@'10.12.1.23' identified by '****' with grant option;

    举例3-限定多个数据库(对于数据库名称前面相同的情况如:均以 sm_ 作为开头的数据库):

    grant select,update,insert on `sm_%`.* to test@'%' identified by 'test';        

    注意: 此处的  sm_%  上的符号不是单引号,而是键盘左上角的小点命令符 

  3. 权限收回:

    revoke 授予的权限 on *.* from '用户名'@'本地或远程标识';

    如:收回授予远程登陆的root所有权限

    revoke all on *.* from 'root'@'%';    ### 注意取消授权后用户的记录任在mysql.user中,用户还是可以连接的,此时只有进一步清掉mysql.user表中的记录才可以做到拒绝用户登录

  注: 刷新权限才能使操作生效

四.清除mysql.user表中的用户记录

  1. delete from mysql.user where user='用户名' and host='本地或远程标识符';

    举例如:清除mysql.user表中的远程可登用户root的记录

    delete from mysql.user where user='root' and host='%';

    flush privileges;

五.查询用户的权限,密码情况:

  1. select user,host,password from mysql.user;  ## password 可以根据需要添加

    如图:

    mysql权限如何有效管理 

2.查询当前用户的情况: select user();

3.查询当前使用的mysql版本: select version();

对于以上关于mysql权限如何有效管理,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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