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

相关文章

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详