MySql用户权限相关

简介

    写这篇文章的主要目的并不是为了抄袭一下,显示自己的才能什么的,而是为了记录下自己踩过的坑,下次需要走相同的路的时候,给自己找一个桥,不用来回的找工具用来跳坑。

mysql用户相关权限分类

  1-用户创建删除

  2-用户对表的操作权限增加删除

  3-当然,我觉得应该还有其他权限,以后补充

方案

    我提供了一套自己使用mysql的方案,供各位参考。

  1-root禁止远程登录

    root禁止远程登录是很重要的,因为没有root用户允许,其他用户根本无法操作权限,只能做root允许自己做的事。

    反之,想要本地登录root用户,就需要本地登录你的服务器,如果你的服务器都被攻破了,那还有啥说的。当然我也可以认为别人直接在你本地登录的mysql。那我只能说,你的机房都被人物理攻破了,这个世界太危险了。

    禁止root远程登录也有缺点,那就是所有的权限相关的操作必须到本地操作(或者远程桌面),不过我想需要做mysql权限控制的用户,这个应该不是很麻烦。

    (一般情况下我的服务器root用于也是禁止远程登录的,同时我的其他用户也都限制了sudo的权限,不登陆root用户,很多东西根本无法操作)

  2-创建新用户

    创建用户之后如果正式使用,最好限制每个用户的允许登录的IP地址,如此一来则可以更大程度的保证数据库的安全。

  3-分割权限

    root禁止远程登录之后(root未禁止远程登录则意义不大,看个人需求),你就可以创建不同的用户,然后把不同的用户赋予不同的权限,以增加安全性。(分割不同的用户权限最大的作用在于,算了,不说了,自行体会)

比如,使用微服务时,用户查询的微服务,使用你的用户只有读的权限等。

见解

    一定要注意的一点就是,更改了mysql权限相关的内容后一定要刷新权限

      命令:FLUSH PRIVILEGES;(忽略大小写,注意结尾有分号)

      flush privileges;

    本文中没有写任何的具体操作,具体操作内容在下方的引用文章中可以找到。使用时请注意数据库版本。

    世上没有不透风的墙,也没有走不通的路,更没有绝对安全的所在。世界在变,你我也在变,技术日新月异,各种技术的漏洞也在不断被发现和被修复。我们能做的只是让我们的数据更安全,更可靠,数据的安全并不是一场赛跑,先到了终点就是胜利,这是一个天平,你不减少bug,你就会由于重量被敌人压下去。

    不过,也不要太悲观,毕竟你从一开始就站在绝对的高处,你有更多的优势。

sql语句用例

    创建新用户

      create user 用户名 identified by '密码';

    删除用户

      drop user zhangsan@'%';

    允许远程访问(新建用户默认支持远程访问,下面的语句貌似会附加赋权语句)

      GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    禁止远程访问

      update user set host = "localhost" where user = "root" and host = "%";

      delete from mysql.user where user = 用户名;

    查询远程访问

      select host,user from user;

    创建数据库

      create database 数据库名;

 

    赋予权限(select,insert,update,delete,create,drop,all)

      grant 权限 on 数据库.数据表 to '用户' @ '主机名';


      例:让 xiaogang 有查询 tmp 数据库 tmp1 表的权限;

      grant all on temp.* to 'xiaogang'@'%';

 

    删除权限(select,insert,update,delete,create,drop,all)

      revoke 权限 on  数据库.数据表 from '用户'@'主机名';

      例:收回 xiaogang的所有权限

      revoke all on *.* from 'xiaogang' @'%';

 

    刷新权限

      命令:FLUSH PRIVILEGES;(忽略大小写,注意结尾有分号)

感言

  祝各位的数据更安全,各位管理共轻松。

说道数据库,我想到一篇关于jedis的文章(JedisCluster API 整理

https://www.cnblogs.com/lu51211314/p/10484730.html

参考文章

  如何给mysql用户分配权限+增、删、改、查mysql用户

    https://www.cnblogs.com/cyl048/p/7992376.html

用命令创建MySQL数据库

https://www.cnblogs.com/jiangxiaobo/p/7089345.html

Mysql用户管理(远程连接、授权)

https://www.cnblogs.com/lamp01/p/10244762.html

MySQL中用户权限、库权限、表权限的控制 

https://blog.csdn.net/u010735147/article/details/81744002

禁止MySQL root远程访问

https://www.maixj.net/wz/mysql-3306-16386

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL用户权限是指用户对于MySQL数据库的访问和操作权限。MySQL提供了多种权限级别,用户可以被授予不同级别的权限,包括全局级别、数据库级别、表级别和列级别权限。 可以使用命令来管理MySQL用户权限。例如,要创建一个用户并授予相应的权限,可以使用以下命令: mysql -uroot -p -hlocalhost -P3306 mysql -e "CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT SELECT, INSERT, UPDATE, DELETE ON database.* TO 'username'@'localhost';" 这个命令将创建一个名为'username'的用户,并授予该用户对于'database'数据库的SELECT、INSERT、UPDATE和DELETE权限。 如果要同时修改多个用户的资源,可以使用ALTER USER命令。例如,要同时修改'test1'用户的身份验证方式和'test2'用户的连接数限制,可以使用以下命令: ALTER USER 'test1' IDENTIFIED WITH mysql_native_password, 'test2'@'localhost' IDENTIFIED BY '222222' WITH max_user_connections 2; 要删除一个用户,可以使用以下命令: DROP USER 'username'@'localhost'; 要查看用户的权限情况,可以使用以下命令: SELECT db, table_name, table_priv, column_priv FROM mysql.tables_priv WHERE user = 'username'; 这个命令将显示名为'username'的用户在各个数据库和表上的权限。 请注意,以上命令只是示例,具体的命令和参数需要根据实际情况进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL深入学习(二一):用户与权限管理](https://blog.csdn.net/qq_38697437/article/details/123983468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Mysql用户与权限操作](https://blog.csdn.net/weixin_44826356/article/details/108730250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值