首页 > 数据库 >MySQL 创建用户并授权

MySQL 创建用户并授权

时间:2023-07-20 11:14:01浏览次数:52  
标签:GRANT 创建 用户 jack MySQL 授权 hostxxx SELECT USER

创建用户

CREATE USER 'usernamexxx'@'hostxxx' IDENTIFIED BY 'passwordxxx';

说明:

 

  • hostxxx:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
  • passwordxxx:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

示例:

  1.   CREATE USER 'jack'@'localhost' IDENTIFIED BY '123456';
  2.   CREATE USER 'rose'@'192.168.38.110_' IDENDIFIED BY '123456';
  3.   CREATE USER 'rose'@'%' IDENTIFIED BY '123456';
  4.   CREATE USER 'rose'@'%' IDENTIFIED BY '';
  5.   CREATE USER 'rose'@'%';

注意:

创建用户后,该用户只能连接到数据库服务器,但并没有操作该数据库服务器的权限。

授权

GRANT privilegesxxx ON databasenamexxx.tablenamexxx TO 'usernamexxx'@'hostxxx'

说明:

 

  • privilegesxxx:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
  • databasenamexxx:数据库名
  • tablenamexxx:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

示例:

  1.   GRANT SELECT, INSERT ON DbXXX.user TO 'jack'@'%';
  2.   GRANT ALL ON *.* TO 'jack'@'%';
  3.   GRANT ALL ON DbXXX.* TO 'jack'@'%';

注意:

1.  授权之后需要用户重连MySQL,才能获取相应的权限。

2. 用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privilegesxxx ON databasenamexxx.tablenamexxx TO 'usernamexxx'@'hostxxx' WITH GRANT OPTION;

设置与更改用户密码

SET PASSWORD FOR 'usernamexxx'@'hostxxx' = PASSWORD('newpasswordxxx');

如果是当前登陆用户用:

SET PASSWORD = PASSWORD("newpasswordxxx");

示例:

SET PASSWORD FOR 'jack'@'%' = PASSWORD("123456");

撤销用户权限

REVOKE privilegexxx ON databasenamexxx.tablenamexxx FROM 'usernamexxx'@'hostxxx';

示例:

REVOKE SELECT ON *.* FROM 'jack'@'%';
 

注意:

假如你在给用户'jack'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'jack'@'%',则在使用REVOKE SELECT ON *.* FROM 'jack'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON *.* TO 'jack'@'%';则REVOKE SELECT ON test.user FROM 'jack'@'%';命令也不能撤销该用户对test数据库中user表的Select权限。


具体信息可以用命令SHOW GRANTS FOR 'jack'@'%'; 查看。

删除用户

DROP USER 'usernamexxx'@'hostxxx';

标签:GRANT,创建,用户,jack,MySQL,授权,hostxxx,SELECT,USER
From: https://www.cnblogs.com/zhang1f/p/17567752.html

相关文章

  • Mysql 悲观锁
    1.mysql的悲观锁概念悲观锁[PessimisticConcurrencyControl]指的是在操作数据的时候悲观的认为数据会发生冲突,所以在每次操作的时候都直接把数据给锁住,这样其他的线程就只能阻塞住无法操作,所以悲观锁比较耗费时间, 一般悲观锁都是借助数据库锁机制 在java中synchr......
  • Test Commands-Functions下——创建自定义Test Case
    TestCommands-Functions下_哔哩哔哩_bilibili基于上一节所创建的测试实例,编写多个不同车速的TestCase,若仅改变信号EngineSpeed的值,也要重复编写多次,花费时间长且易出错,这时可通过Functions功能自定义一个TestCase模板,并基于该模板添加多个TestCase用例1)选择Functions——Tes......
  • mysql清空表 怎么阻断
    项目方案:阻断MySQL清空表操作简介在某些情况下,我们可能需要阻断MySQL数据库中的表清空操作,以防止误操作或者恶意操作导致数据丢失。本项目方案将介绍如何通过代码实现阻断MySQL清空表操作的功能。技术选型编程语言:Python数据库:MySQLPython库:pymysql环境配置安装Python和......
  • mysql写入数据慢
    MySQL写入数据慢的原因及优化方法MySQL是一种非常流行的关系型数据库,广泛应用于各种应用程序和网站中。然而,有时我们会遇到MySQL写入数据慢的问题。本文将介绍可能导致写入数据慢的原因,并提供一些优化方法来改善性能。1.原因分析1.1硬件问题首先,我们需要检查硬件是否存在问题......
  • mysql切库
    MySQL切库介绍在开发中,我们经常需要连接多个数据库进行操作,这就需要在程序中实现数据库的切换。MySQL作为一种常用的关系型数据库管理系统,提供了多种方式来实现切库操作。本文将介绍几种常用的切库方式,并提供相应的代码示例。方法一:使用USE语句在MySQL中,可以使用USE语句来切换......
  • mysql启动指定my.cnf
    MySQL启动指定my.cnf文件在MySQL中,my.cnf是用于配置MySQL服务器的配置文件。默认情况下,MySQL会在一些预定义的位置(如/etc/my.cnf)中寻找my.cnf文件。但是,有时候我们希望在启动MySQL服务器时使用不同的配置文件,这时就需要指定使用特定的my.cnf文件。以下是通过命令行启动MySQL服务......
  • mysql小数位数设置
    MySQL小数位数设置详解在MySQL中,小数位数是指在浮点数字段中保留的小数位数。它决定了存储和显示浮点数时的精度。MySQL允许在表定义中指定小数位数,并且还提供了一些函数和操作符来处理浮点数的小数位数。本文将介绍MySQL中小数位数的设置和使用。1.定义小数位数在MySQL中,我们......
  • mysql显示小数点后10位
    MySQL显示小数点后10位在MySQL中,小数数据类型是一种用于存储带有小数部分的数值的数据类型。默认情况下,MySQL会根据实际数值的精度来决定小数的显示位数。如果你想要在查询结果中显示小数点后10位,可以通过设置查询语句或更改数据库会话的设置来实现。查询语句中显示小数点后10位......
  • mysql批量更新数据的创建时间
    MySQL批量更新数据的创建时间实现流程在MySQL中,要批量更新数据的创建时间,可以通过以下步骤完成:步骤操作连接数据库使用代码连接MySQL数据库,获取数据库连接对象查询需要更新的数据使用SQL语句查询需要更新的数据批量更新数据遍历查询结果,使用代码更新每条数据的......
  • mysql位运算用索引么
    MySQL位运算用索引吗?引言在MySQL中,位运算是一种常用的操作。但是,对于位运算是否能够使用索引来提高查询性能,对于刚入行的开发者来说可能会感到困惑。本文将为大家介绍位运算在MySQL中使用索引的流程和相关代码示例。流程下面是使用索引进行位运算的一般流程:步骤描述1......