MySQL、Maria数据库用户管理(创建、修改、删除用户)常用操作

本文主要是介绍MySQL、Maria数据库用户管理(创建、修改、删除用户)常用操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. 前言

MySQL 在安装时,会默认创建一个名为 root 的用户,该用户拥有超级权限,可以控制整个 MySQL 服务器。

在对 MySQL 的日常管理和操作中,为了避免有人恶意使用 root 用户控制数据库,我们通常创建一些具有适当权限的用户,尽可能地不用或少用 root 用户登录系统,以此来确保数据的安全访问。

二. 常用操作

2.1. 数据库操作

2.1.1. 创建数据库

要创建一个新的数据库,你可以使用以下SQL命令:

CREATE DATABASE database_name;

将database_name替换为你想要创建的数据库的名称。

2.1.2. 选择数据库

在对数据库进行操作之前,你需要先选择数据库:

USE database_name;

2.2. 用户管理操作

2.2.1 创建数据库用户

创建一个新的数据库用户,你可以使用以下命令:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
  • 将username替换为新用户的用户名。
  • host指定了用户可以从哪些主机连接到数据库服务器。如果你想允许从任何主机连接,可以使用通配符%。
  • password是用户的密码。

2.2.2 授权

要给用户权限,以允许他们对数据库进行操作,可以使用GRANT语句:

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
  • 这将授予usernamedatabase_name数据库上的所有权限。
  • 如果你只想授予特定的权限(如SELECT, INSERT, UPDATE等),可以将ALL PRIVILEGES替换为相应的权限列表。

授权
确保在授权之后执行FLUSH PRIVILEGES;命令,以使更改生效。

FLUSH PRIVILEGES;

撤销权限
如果需要撤销用户的权限,可以使用REVOKE语句:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'localhost';

这将从database_name数据库上撤销username用户的所有权限。

查看用户权限
要查看特定用户的权限,可以使用以下命令:

SHOW GRANTS FOR 'username'@'host';

2.2.3. 修改用户

1.修改用户名称
在MySQL中直接修改用户名的操作并不像修改密码那样直接。通常,修改用户名实际上涉及到创建一个新的用户,然后将旧用户的权限复制给新用户,最后删除旧用户。但是,从MySQL 5.7.6版本开始,可以使用RENAME USER命令直接修改用户名。

RENAME USER 'old_username'@'localhost' TO 'new_username'@'localhost';

在这里,需要将old_usernamenew_username替换成实际的用户名,完成操作后,建议执行FLUSH PRIVILEGES;命令来刷新权限。
2.修改密码
修改MySQL用户密码,可以使用ALTER USER命令,这是推荐的方式。以下是修改密码的一个例子:

ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';

username替换为实际的用户名,host替换成用户所能连接的主机,new_password替换成新的密码。完成后,同样建议执行FLUSH PRIVILEGES;以确保更改立即生效。

对于早期版本的MySQL,可能需要使用SET PASSWORD命令:

SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');

这里的PASSWORD('new_password')是一个函数,用于加密新密码。不过,从MySQL 5.7.6开始,推荐使用ALTER USER命令,因为它更直接且符合SQL标准。

注意

  • 在执行任何修改前,确保你有足够的权限来更改用户的用户名和密码。
  • 修改完成后,被影响的用户需要使用新的用户名或密码重新连接数据库。
  • 出于安全考虑,定期更新数据库密码是一个好习惯,但要避免使用简单易猜的密码。
  • 如果你在操作过程中遇到权限不足的问题,请确保你以具有足够权限的用户(如root)登录MySQL进行操作。

2.2.4. 删除用户

删除数据库用户,可以使用以下命令:

DROP USER 'username'@'localhost';

2.2.5. 查看当前所有用户

要查看MySQL服务器上的所有用户,可以执行以下查询:

SELECT user FROM mysql.user;

以上就是关于MySQL、Maria数据库用户管理(创建、修改、删除用户)常用操作,希望对你有帮助!

这篇关于MySQL、Maria数据库用户管理(创建、修改、删除用户)常用操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/901606

相关文章

SQL 外键Foreign Key全解析

《SQL外键ForeignKey全解析》外键是数据库表中的一列(或一组列),用于​​建立两个表之间的关联关系​​,外键的值必须匹配另一个表的主键(PrimaryKey)或唯一约束(UniqueCo... 目录1. 什么是外键?​​ ​​​​2. 外键的语法​​​​3. 外键的约束行为​​​​4. 多列外键​

Spring Boot 常用注解整理(最全收藏版)

《SpringBoot常用注解整理(最全收藏版)》本文系统整理了常用的Spring/SpringBoot注解,按照功能分类进行介绍,每个注解都会涵盖其含义、提供来源、应用场景以及代码示例,帮助开发... 目录Spring & Spring Boot 常用注解整理一、Spring Boot 核心注解二、Spr

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

MySQL中SQL的执行顺序详解

《MySQL中SQL的执行顺序详解》:本文主要介绍MySQL中SQL的执行顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql中SQL的执行顺序SQL执行顺序MySQL的执行顺序SELECT语句定义SELECT语句执行顺序总结MySQL中SQL的执行顺序

Java中的内部类和常用类用法解读

《Java中的内部类和常用类用法解读》:本文主要介绍Java中的内部类和常用类用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录内部类和常用类内部类成员内部类静态内部类局部内部类匿名内部类常用类Object类包装类String类StringBuffer和Stri

MySQL中like模糊查询的优化方案

《MySQL中like模糊查询的优化方案》在MySQL中,like模糊查询是一种常用的查询方式,但在某些情况下可能会导致性能问题,本文将介绍八种优化MySQL中like模糊查询的方法,需要的朋友可以参... 目录1. 避免以通配符开头的查询2. 使用全文索引(Full-text Index)3. 使用前缀索

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

MySQL中的两阶段提交详解(2PC)

《MySQL中的两阶段提交详解(2PC)》:本文主要介绍MySQL中的两阶段提交(2PC),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录引言两阶段提交过程sync_binlog配置innodb_flush_log_at_trx_commit配置总结引言在Inn