MySQL创建用户以及用户权限详细图文教程
目录
- 1.创建用户
- 1.1 工具创建用户
- 1.2 脚本创建用户
- 1.2.1 脚本创建用户介绍
- 1.2.2 脚本创建用户示例
- 1.3 远程连接
- 1.4 删除用户
- 2.设置权限
- 2.1 mysql5.7或以下版本设置权限
- 2.2 MySQL8.0或以上版本设置权限
- 2.2.1 示例
- 总结
1.创建用户
1.1 工具创建用户
打开以后是这个界面,照着填就行了,插件一般不用选择,会有默认的;
想要修改密码就直接在以上图片的用户中选中要修改密码的用户然后双击点进去然后修改即可www.devze.com。注:这两次都要输入;
1.2 脚本创建用户
1.2.1 脚本创建用户www.devze.com介绍
在开发过程中,记得要创建用于登录数据库的用户。如果使用默认提供的root用户,因为拥有超级android用户权限,所以很容易因误操作而使数据不安全。在实际开发中,一般不建议使用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、authentijavascriptcation_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`@http://www.devze.com`host` [identified by [PASSWORD] ‘password']
- priv_type: 表示要授予的权限,可以是 ALL PRIVILEGES、SELECT、INSERT、UPDATE、DELETE 等。
- databasename.tablename: 表示权限作用的数据库和表,可以使用通配符 * 表示所有数据库或所有表。
- 'user'@'host': 表示用户名和主机,指定了该用户可以从哪个主机登录。
- IDENTIFIED BY: 指定用户的密码。
2.2.1 示例
如果需要授予多个权限,用逗号隔开;
用户名可以使用``包,也可以用‘’包;
总结
到此这篇关于MySQL创建用户以及用户权限的文章就介绍到这了,更多相关MySQL创建用户及用户权限内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论