辛星解读mysql的用户管理

辛星解读mysql的用户管理

大家好,又见面了,我是全栈君。

     可能做开发的多半不太关注这方面,可是要说到做运维。那就不能不关注了。由于我们都知道,root的权限太大了。不是随便能用的。我们平时最好用一些比較低的权限的用户。这样会让我们的安全性大大提高,也能防止我们寻常中由于误操作而造成不必要的损失。

      首先我们须要查看mysql中的全部账户,我们在mysql数据库中的user表中查看信息就可以。可是呢。因为我们直接select * from user的话会显示非常多的和权限相关的信息,极大的影响我们的阅读。因此我们这里仅仅查看三个比較重要的字段,以下是我的机器中的操作演示:

mysql>   select host,user,password from mysql.user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| ::1       | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
3 rows in set (0.00 sec)

     然后我们创建一个用户,这里我们须要制定username和连接的地址,也就是一样的username(user)。不一样的host。也会被当做不一样的对象,我们能够使用通配符。当中%表示匹配不论什么多个字符,而-表示匹配一个字符。以下我创建一个用户test。并且制定password为xin,并且能够从不论什么主机登录。看我操作:

mysql> create user 'test'@'%' identified by 'xin';
Query OK, 0 rows affected (0.23 sec)

    这里我们用该用户登录的信息显演示样例如以下:

C:\Users\Administrator>mysql -u test -pxin
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.7.3-m13 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

比方我们此时想查看一下user信息都有什么。结果却发现:

mysql> select host,user,password from mysql.user;
ERROR 1142 (42000): SELECT command denied to user 'test'@'localhost' for table 'user'
mysql>

也就是我们这里并不用有select该user表的权限。那么就会涉及到权限管理了,我们这里能够用show grants来查看一下自己的权限:

mysql> show grants;
+-----------------------------------------------------------------------------------------------------+
| Grants for test@%                                                                                   |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test'@'%' IDENTIFIED BY PASSWORD '*76995602B7611FA37648852F235D6ECB29D844E2' |
+-----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


      因为这里的test用户的权限还是非常小的。我们还是使用root用户登录,然后此时我们看一下用户表,就发现多了一个新用户:

mysql> select host,user,password from mysql.user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| ::1       | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| %         | test | *76995602B7611FA37648852F235D6ECB29D844E2 |
+-----------+------+-------------------------------------------+
4 rows in set (0.00 sec)

       root用户具有至高无上的权限。因此他能够改动password,第一种方式就是使用set  password语句,比方我们给刚才的新用户设置一个password。我们能够使用例如以下命令:

mysql> set  password for 'test'@'%' = password('qian');
Query OK, 0 rows affected (0.00 sec)

     此时我们就能够使用test这个用户登录了,以下看我代码:

C:\Users\Administrator>mysql -u test -pqian
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.7.3-m13 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

   事实上我们还能够直接使用update语句来改动user这个表,可是我们须要使用flush privileges;来让它马上生效:

mysql> update mysql.user set password = password('nan') where user = 'test';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

   然后我们就能够用’nan‘这个password登录了,我这里就不给出演示代码了,毕竟非常easy的操作,我是辛星。求支持。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115765.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决Warning: scandir() has been disabled for security reasons in…的问题

    解决Warning: scandir() has been disabled for security reasons in…的问题

    2022年2月10日
    45
  • Java商城源码最好用的java商城电商系统之一

    Java商城源码最好用的java商城电商系统之一为符合新互联网+时代产品线即时起更新演示网址:2021单店版:http://mall.javaemall.com/index.htm2021多店版:http://www.javaemall.com/index.htm源码包含:PC版网站+手机触屏站+APP客户端(安卓+苹果)+微信版(小程序+公众号)几套区别:2021版升级了移动端新功能和UI页面,更符合扁平简约化潮流,新增微信小程序,底层技术框架升级。多店版就是多店铺多商户,多用户B2B2C功能,能入驻开店。单店版是自营B…

    2022年7月8日
    45
  • python中imread什么意思_imwrite函数

    python中imread什么意思_imwrite函数Python中各种imread函数的区别与联系最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误。如果你正好也对此感到困惑可以看下这篇总结。当然,要了解具体的细节,还是应该readthefuckcode和APIdocument,但貌似python的很多模块文档都不是很全,所以只能多看代码和注释

    2022年10月14日
    0
  • nexus 3.x搭建私库引用私库

    nexus 3.x搭建私库引用私库1.官网下载地址:https://www.sonatype.com/download-oss-sonatype下载后:2.解zip文件进入bin文件:在cmd窗口输入指令nexus.exe/run启动:出现如下界面则启动成功:3.浏览器输入http://localhost:8081/点击Signin,账户:admin,密码:admin12…

    2022年7月18日
    7
  • windows10开启telnet命令_windows10 telnet

    windows10开启telnet命令_windows10 telnetWindows10操作系统上使用telnet命令大概分为以下两部分:第一部分:配置telnet第二部分:进入黑窗口最后,来一个调试,尝试连接服务器。(正文开始)第一部分:首先,通过控制面板进行配置telnet打开:控制面板——程序——启动或关闭windows功能——勾上telnetclient如图所示:第二部分:键盘按键操作:window+r——输入cmd回车——进入原始黑窗口——输入telnet回车——输入quit退出telnet模式调试部分:网络上的方法:

    2022年9月23日
    0
  • java数组删除元素_java中删除 数组中的指定元素方法[通俗易懂]

    java数组删除元素_java中删除 数组中的指定元素方法[通俗易懂]java中删除数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除数组中的指定元素的例子。java的api中,并没有提供删除数组中元素的方法。虽然数组是一个对象,不过并没有提供add()、remove()或查找元素的方法。这就是为什么类似ArrayList和HashSet受欢迎的原因。不过,我们要感谢ApacheCommonsUtils,我…

    2022年8月11日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号