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

相关文章

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满