MySQL创建用户以及用户权限详细图文教程

 更新时间:2024年06月08日 10:20:52   作者:子逸爱编程  
在MySQL中可以通过创建用户来管理数据库的访问权限,下面这篇文章主要给大家介绍了关于MySQL创建用户以及用户权限的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

1.创建用户

1.1 工具创建用户

打开以后是这个界面,照着填就行了,插件一般不用选择,会有默认的; 

想要修改密码就直接在以上图片的用户中选中要修改密码的用户然后双击点进去然后修改即可。注:这两次都要输入; 

1.2 脚本创建用户

1.2.1 脚本创建用户介绍

在开发过程中,记得要创建用于登录数据库的用户。如果使用默认提供的root用户,因为拥有超级用户权限,所以很容易因误操作而使数据不安全。在实际开发中,一般不建议使用root用户登录MySQL服务器。数据库管理员(Database Administartor,DBA)负责为不同的数据库使用者创建一系列普通用户账户,赋予不同的权限,以保证数据的安全。创建新用户的语法如下: 

 create user `username`@'host' [identiried by [PASSWORD] 'password']
  • username: 创建的用户名
  • host: 指定用户登录的主机名。如果是本地用户,可使用"localhost"。如果想让用户可以从远程主机登录,可使用通配符"%";
  • identified by: 用来设置密码,缺省时密码为空
  • PASSWORD: 使用哈希值设置密码,可选
  • password: 用户登录时使用的密码

实际开发中,远程连接使用的比较多,远程连接的意思就是在其他的主机可以连接这个拥有远程连接权限的用户;

1.2.2 脚本创建用户示例

  • 需求: 在数据库创建一个用户名为root4且密码为123456并且支持远程连接的账户 

  • 创建用户之后,可通过系统数据库mysql的user表,查看已存在的用户;SQL语句如下: 

SQL语句

 运行结果

由以上图可以看出,user表中的Host、User、authentication_string分别对应创建用户时指定的主机名、用户名、密码的哈希值。除此之外,还有一系列以'_priv'字符串结尾的字段,这些字段决定了用户的权限,这些字段的值只有Y和N,Y代表用户有对应的权限,N代表用户没有对应的权限,这些字段的默认值是N。使用create user语句创建的用户是未授权的 

1.3 远程连接 

远程连接的主机就写创建这个用户的主机IP地址,IP地址可以win+R进入cmd中的dos命令中输入ipconfig即可,然后其他就照着填就行了,端口不用改,用户名就是要连接的用户名,密码就是创建用户时创建的密码;

1.4 删除用户

drop user '用户'; -- 例:drop user 'root5'@'localhost'; 

2.设置权限

2.1 MySQL5.7或以下版本设置权限

MySQL5.7可以创建用户并授权,语法格式如下: 

grant priv_type on databasename.tablename to `user`@`host` [identified by [PASSWORD] ‘password'] [with grant option] 
  • priv_type: 表示要授予的权限,可以是 ALL PRIVILEGES、SELECT、INSERT、UPDATE、DELETE 等。
  • databasename.tablename: 表示权限作用的数据库和表,可以使用通配符 * 表示所有数据库或所有表。
  • `user`@`host`: 表示用户名和主机,指定了该用户可以从哪个主机登录。
  • IDENTIFIED BY: 指定用户的密码。
  • with grant option: 对新建立的用户赋予grant权限,可选项。 

2.2 MySQL8.0或以上版本设置权限 

MySQL8.0无法创建用户并授权,只能先创建用户再授权,授权语法格式如下: 

grant priv_type on databasename.tablename to `user`@`host` [identified by [PASSWORD] ‘password'] 
  • priv_type: 表示要授予的权限,可以是 ALL PRIVILEGES、SELECT、INSERT、UPDATE、DELETE 等。
  • databasename.tablename: 表示权限作用的数据库和表,可以使用通配符 * 表示所有数据库或所有表。
  • 'user'@'host': 表示用户名和主机,指定了该用户可以从哪个主机登录。
  • IDENTIFIED BY: 指定用户的密码。 

2.2.1 示例 

 如果需要授予多个权限,用逗号隔开;

用户名可以使用``包,也可以用‘’包; 

总结

到此这篇关于MySQL创建用户以及用户权限的文章就介绍到这了,更多相关MySQL创建用户及用户权限内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MYSQL导入导出sql文件简析

    MYSQL导入导出sql文件简析

    这篇文章主要介绍了MYSQL导入导出.sql文件的相关资料,内容包括MYSQL的命令行模式的设置、命令行进入MYSQL的方法、数据库导出数据库文件、从外部文件导入数据到数据库,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 详解MySQL自增主键的实现

    详解MySQL自增主键的实现

    现在大部分的软件开发都离不开数据库。而mysql也是经常会用到的一个数据库。mysql数据库中有一个主键生成规则,就是自增。也是我们经常会用到的。本文就来介绍一下
    2021-09-09
  • MySQL安全配置向导mysql_secure_installation详解

    MySQL安全配置向导mysql_secure_installation详解

    这篇文章主要介绍了MySQL安全配置向导mysql_secure_installation各项配置的含义,并依据经验给予一了一些建议,需要的朋友可以参考下
    2014-03-03
  • mysql主从同步复制错误解决一例

    mysql主从同步复制错误解决一例

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids
    2011-05-05
  • Mysql CONVERT函数的具体使用

    Mysql CONVERT函数的具体使用

    本文主要介绍了Mysql CONVERT函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • mysql随机查询若干条数据的方法

    mysql随机查询若干条数据的方法

    这篇文章主要介绍了mysql中获取随机内容的方法,需要的朋友可以参考下
    2013-10-10
  • MySQL数据库安全设置与注意事项小结

    MySQL数据库安全设置与注意事项小结

    现在很多朋友使用mysql数据库,为了安全考虑我们就需要考虑到mysql的安全问题,例如需要将mysql以普通用户权限运行,就算出问题了有了root也不能控制系统
    2013-08-08
  • MySQL多列IN查询的实现

    MySQL多列IN查询的实现

    多列 IN 查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL 多列 IN 查询的实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • MySQL 计算时间差(分钟)的三种实现

    MySQL 计算时间差(分钟)的三种实现

    本文主要介绍了MySQL 计算时间差(分钟)的三种实现,包含TIMEDIFF函数,TIMESTAMPDIFF函数和算术运算符这三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • 详解MySQL数据库设置主从同步的方法

    详解MySQL数据库设置主从同步的方法

    最近一直在研究mysql的主从同步问题,现在网上也有很多资料,现在感觉写的都很好(当初感觉写的很差,是因为自己的领悟较差),于是想跟大家分享一下自己配置的整个过程和经验。有需要的朋友欧美可以参考借鉴,感兴趣的朋友们下面来一起学习学习吧。
    2016-11-11

最新评论