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基础教程之启动与客户端连接

    mysql基础教程之启动与客户端连接

    MySQL是一种开源的关系型数据库管理系统,被广泛应用于Web应用程序的后端数据存储和管理,下面这篇文章主要介绍了mysql基础教程之启动与客户端连接的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-10-10
  • MySQL复合查询从基础到高级应用全面解析

    MySQL复合查询从基础到高级应用全面解析

    本文详细介绍了MySQL中的复合查询,包括基础概念、主要类型、示例数据库结构、子查询、连接查询、UNION查询、派生表与CTE高级用法、实战案例、性能优化与最佳实践以及常见问题与解决方案,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • MySQL无法读表错误的解决方法(MySQL 1018 error)

    MySQL无法读表错误的解决方法(MySQL 1018 error)

    这篇文章主要为大家详细介绍了MySQL无法读表错误的解决方法,MySQL 1018 error如何解决?具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 一文详解SQL 中的三值逻辑

    一文详解SQL 中的三值逻辑

    这篇文章主要介绍了一文详解SQL中的三值逻辑,文章围绕主题展开对三值逻辑Null的详细介绍,感兴趣的小伙伴可以参考一下
    2022-09-09
  • MySQL8新特性:自增主键的持久化详解

    MySQL8新特性:自增主键的持久化详解

    MySQL8.0 GA版本发布了,展现了众多新特性,下面这篇文章主要给大家介绍了关于MySQL8新特性:自增主键的持久化的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-07-07
  • mysql中的索引、存储引擎、事务、锁机制和优化详解

    mysql中的索引、存储引擎、事务、锁机制和优化详解

    这篇文章主要介绍了mysql中的索引、存储引擎、事务、锁机制和优化,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • 提高SQL代码可读性的10种技巧

    提高SQL代码可读性的10种技巧

    SQL,这门备受推崇的编程语言,在关系数据库操作中扮演着不可或缺的角色,然而,伴随着数据库模式的不断增长和不断演进,编写和维护SQL代码可能会变得相当具有挑战性,为了确保你的SQL代码能够具备高可读性、易维护性以及出色的性能,以下是十个不容忽视的最佳实践
    2023-10-10
  • MySQL对相同字段创建不同索引解析

    MySQL对相同字段创建不同索引解析

    这篇文章主要为大家介绍了MySQL 对相同字段创建不同索引解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • mysql 查询当天、本周,本月,上一个月的数据

    mysql 查询当天、本周,本月,上一个月的数据

    这篇文章主要介绍了mysql 查询当天、本周,本月,上一个月的数据的sql代码,在文中还给大家提到了mysql如何查询当天信息,具体内容详情大家参考下本文
    2018-01-01
  • MySQL双层游标嵌套循环实现方法

    MySQL双层游标嵌套循环实现方法

    要实现逐行获取数据,需要用到MySQL中的游标,一个游标相当于一个for循环,这里需要用到2个游标,如何在MySQL中实现游标双层循环呢,下面小编给大家分享MySQL双层游标嵌套循环方法,感兴趣的朋友跟随小编一起看看吧
    2024-05-05

最新评论