MySQL 第八章MySQL用户权限与维护

本文详细介绍了MySQL的用户管理和权限控制,包括添加、删除用户,修改用户名和密码,以及如何通过grant和revoke语句进行权限的授予和回收。此外,还讨论了表维护语句,如analyze table、check table、checksum table、optimize table和repair table,帮助用户更好地维护数据库。
摘要由CSDN通过智能技术生成

    为了方便,前面都是用root用户来登录MySQL访问数据库数据,本章介绍如何添加用户并给用户授权。例如:可以允许一个用户创建新的表,另一个用户被授权更新现有的表,第三个用户只能查询表。

    可以使用标准的sql语句——grant和revoke语句来修改控制客户访问的授权表

8.1 用户管理

8.1.1 添加、删除用户

1. 添加用户

    用户可以使用create user语法添加一个或多个用户,并设置相应的密码:

create user 用户 [identified by [password] '密码' ]
[,...]

用户的格式为:

'用户名' @ '主机名'
  • 大多数SQL产品中,用户名和密码只由字母和数字组成
  • identified by 为账户给定一个密码。特别是要在纯文本中指定密码,需忽略password关键字,如果不想以明文发送密码,而且知道password()函数返回给密码的混编值,则可以指定该混编值,但要加关键字password。
  • create user 用户创建新的MySQL账户,此后会在系统本身的mysql数据库的user表中添加一个新纪录
  • 要使用该命令,必须拥有mysql数据库的全局create user权限或insert权限,如果用户账户已经存在则会出现错误

例如:添加两个新用户,king的密码为queen,palo的密码为530415

 create user
 'king'@'localhost' identified by 'queen',
 'palo'@'localhost' identified by '530415';

完成后可切换到mysql数据库,从user表中查到刚刚添加的两个用户记录

use mysql
show tables;
select * from user;
  • 如果一个用户名和主机名中包含特殊符号如”_“,或通配符如”%“,则需要用单引号将其括起来。”%“表示一组主机
  • 如果两个用户具有相同的用户名但是主机名不一致,MySQL将其视为不同用户,允许为这两个用户分配不同的权限合集
  • 如果没有输入密码,那么MySQL允许相关的用户不适用密码登录,但是从安全的角度不推荐这种做法
  • 刚创建的用户还没有很多权限,他们可以登录到MySQL,但是他们不能使用use语句在让用户已经创建的任何数据库称为当前数据库,因此无法访问那些数据库的表,只允许进行不需要权限的操作,例如用一条show语句查询所有存储引擎和字符集的列表

2. 删除用户

    删除用户的语法格式如下:

drop user 用户 [, 用户]....

    要使用drop user 必须拥有mysql数据库的全局create user权限或delete权限
例如:删除用户palo

drop user palo@localhost;

    如果被删除的用户已创建了表,索引或其他数据库对象,他们将继续保留,因为mysql并没有记录是由谁创建了这些对象。

8.1.2 修改用户名,密码

1. 修改用户名

rename user 老用户 to 新用户
[,..]

    要使用该命令,必须拥有mysql数据库的全局create user权限或mysql数据库update权限,如果旧帐户不存在或者新账户已存在则会出现错误。

例如:将用户king的名字修改为ken

rename user
'king'@'localhost' to 'ken'@'localhost';

2. 修改某个用户的密码

set password [for 用户]='新密码';

    如果不加for用户则为修改当前用户密码,加了for 用户则修改特定用户密码

例如:将用户ken的密码修改为qen

set pass
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值