Mysql用户管理相关「建议收藏」

Mysql用户管理相关「建议收藏」当前使用的user及host: 添加用户 mysql5以前版本直接使用 INSERT 向 mysql 表中插入mysql用户了,mysql5之后不可以这样操作 增加用户 {授予用户指定数据表权限 [使

Mysql用户管理相关

当前使用的user及host:


mysql> select USER();

+----------------+

| USER()         |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)

代码100分

添加用户

代码100分mysql5以前版本直接使用 INSERT 向 mysql 表中插入mysql用户了,mysql5之后不可以这样操作  
mysql> insert into mysql.user(Host,User,Password) values("localhost","test_user",password("123123"));

ERROR 1062 (23000): Duplicate entry "localhost-test_user" for key "PRIMARY"
代码100分增加用户 {授予用户指定数据表权限 [使用 GRANT 命令 对用户进行相应授权]}
mysql> GRANT all privileges ON table1.* TO 
"test_user"@"localhost" IDENTIFIED BY "123123" WITH GRANT OPTION;

Query OK, 0 rows affected (0.02 sec)

IDENTIFIED BY 指定用户的登录密码

ALL PRIVILEGES 是表示所有权限,也可以使用 select、update 等权限  
*.  中前面的*号用来指定数据库名,后面的*号用来指定表名  
TO 表示将权限赋予某个用户  
ON 用来指定权限针对哪些库和表  
"test_user"@"localhost" 表示test_user用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方  
WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人
 
需要刷新系统权限表[flush privilege] 该用户才能生效登录
mysql> flush privileges;    

删除用户

mysql> drop user "test_user"@"localhost";

查看当前用户的权限

mysql> SHOW GRANTS;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO "root"@"localhost" IDENTIFIED BY PASSWORD "*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1" WITH GRANT OPTION |
| GRANT PROXY ON ""@"" TO "root"@"localhost" WITH GRANT OPTION                                                                           |
+----------------------------------------------------------------------------------------------------------------------------------------+

查看某个用户的权限

mysql> show grants for "test_user"@"localhost"
+------------------------------------------------------------------------------------------------------------+
| Grants for test_user@localhost                                                                                   |
+------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO "test_user"@"localhost" IDENTIFIED BY PASSWORD "*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1" |
| GRANT ALL PRIVILEGES ON table1.* TO "test_user"@"localhost" WITH GRANT OPTION                                 |
+------------------------------------------------------------------------------------------------------------+

对账户重命名

mysql> rename user "test_user"@"localhost" to "bb"@"localhost";

修改密码

1.用set password命令  
mysql> SET PASSWORD FOR "test_user"@"localhost" = PASSWORD("123456");
2.用 mysqladmin [进入bin目录]   
备注:{格式: mysqladmin -u用户名 -p旧密码 password 新密码]
/usr/bin$ mysqladmin -utest_user -p123456 password 123123
mysqladmin: Can"t turn off logging; error: "Access denied; you need (at least one of) the SUPER privilege(s) for this operation"
3.用 update 直接编辑 user 表  
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set PASSWORD = PASSWORD("123123") where user = "test_user";
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

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

(0)
上一篇 2023-02-26
下一篇 2023-02-26

相关推荐

  • 【Redis】集群NetCore实战

    【Redis】集群NetCore实战介绍NetCore如何使用Redis集群

    2023-02-16
    164
  • Python Labelize Definition: 标记文本内容

    Python Labelize Definition: 标记文本内容标记文本内容是指利用特定标记符号对文本内容进行指定格式的标记操作。这样可以使得文本内容具备一定的语义,方便解析和使用。

    2024-03-04
    99
  • 了解Python中的多态

    了解Python中的多态多态是面向对象编程的一个重要特性,指的是同一个类的实例,在不同情境下的表现形式不同。简单的说,就是同一个名字的方法在不同的对象中呈现出不同行为。

    2024-06-25
    47
  • Ubuntu Anaconda安装教程

    Ubuntu Anaconda安装教程对于Python开发者而言,Anaconda是不得不提的神器之一。本文将介绍在Ubuntu系统上如何快速、简便地安装Anaconda。

    2024-08-30
    27
  • oracle性能分析报告_oracle scheduler

    oracle性能分析报告_oracle scheduler热门资讯 1、中国移动国产OLTP数据库中标公告:南大金仓阿里,万里开源中兴 分获大单 【摘要】近日,中国移动公布了 OLTP 自主可控数据库联合创新项目中标公告。公告显示:国产数据库中,南大通用、…

    2023-03-24
    173
  • PG启动恢复机制「终于解决」

    PG启动恢复机制「终于解决」生产一个pg库停了后,起库的时候则需要很长时间,记录一下相应的原理。 如backup_label文件不存在(当前没有在做备份),正情况情况下, 在恢复的开始, 服务器首先读取pg_control,然…

    2023-03-19
    153
  • 高可用的MongoDB集群[亲测有效]

    高可用的MongoDB集群[亲测有效]高可用的MongoDB集群 davidpp 0.9432015.09.22 23:48:04字数 2,254阅读 35,992 刚接触MongoDB,就要用到它的集群,只能硬着头皮短时间去看文档和尝…

    2023-03-26
    152
  • 以Python Twisted为核心的网络编程

    以Python Twisted为核心的网络编程在现代的互联网世界中,网络编程是最基本的技能之一。Python是一种强大的编程语言,以简洁、清晰、优雅的代码而著称。而Twisted作为Python中最为流行的网络编程框架之一,能够帮助开发人员快速实现复杂的网络应用程序。

    2024-05-07
    71

发表回复

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