本文内容:
- 用户的介绍
- 查看用户
- 创建用户帐户
- 修改账户
- 删除帐户
- 关于匿名用户
首发日期:2018-04-19
用户的介绍:
- mysql的客户端连接是以用户名来登录服务端。
- 服务端可以对用户的权限来进行更改,所以每个用户对数据库或对数据表的权限都是不一样的。
- 一般来说不应该使用root用户登录,因为root用户拥有最高的权限,可以进行删除数据库等“危险”操作。为了安全,应该使用其他用户登录,并且给他分配合适的权限。
- 并且用户应该是有密码的,使用匿名用户(没有密码)是非常危险的,如果这个匿名用户又是开放远程登录的话那别人只要检测到你的端口是开放的就可以登录你的mysql了。
查看用户:
- MySQL用户账号和信息存储在名为 mysql 的MySQL数据库中。
- mysql 数据库有一个名为 user 的表,它包含所有用户账号。 user表有一个名为 user 的列,它存储用户登录名。
-
- 使用select * from user\G来获取完整的表数据时
-
- 其中后缀是priv是权限的意思,N代表没有。
- host是代表允许登录的主机,%为允许本地和非本地主机登录
- user是用户名
- authentication string是密码的散列值。
创建用户帐户:
-
方式1:create user 用户名@可登录地址 identified by '密码';
- 没有可登录地址代表所有地址都能登录
- 如果只允许本地登录,应该设置成localhost
-
方式2:grant 权限 on 数据库.数据表 to 用户名@可登录地址 identified by '密码';
- 方式3:可以使用Insert直接往user表中插入数据,但不建议使用。
修改账户:
- 重命名用户:rename user 原用户名@可登录地址 to 新用户名@可登录地址; 【原用户名的可登录地址是必须的,而新用户名的可登录地址是可选的,但不填的话就会默认成%即允许远程登录】
- 更改密码:set password for '用户名'@可登录地址 = password('密码');【在不指定用户名的情况下,为修改当前用户的密码】【可登录地址是可选的,必须是原来的可登录地址】
-
- 修改账户权限将在另外一篇博文中讲述。超链接:mysql之用户权限管理
删除帐户:
- drop user 用户名;
补充:
- 在mysql5.0之前drop user命令只会删除用户,而不删除权限,在5.0之前需要先用revoke删除权限。
关于匿名用户:
- 在旧版本默认情况都会有一个匿名用户,这使得你不需要使用用户及密码就能登录mysql
- 如何创建匿名用户
- 一般情况下不应该创建匿名用户,即使是因为学习方便而创建也应该设置成本地的。