mysql用户账户_管理MYSQL用户账户

管理MySQL用户账户

MySQL服务器的权限全部存放在mysql库中的几个权限表。(如下表)

权限表

权限表的内容

user

可连接到服务器的用户和他们的全局权限

db

数据库级权限

tables_priv

数据表级权限

column_priv

数据列级权限

procs_priv

与存储例程有关的权限

对于mysql数据库的操作注意通过下面这些账户管理SQL语句完成:

create user ; drop user ; rename user;

grant;

revoke;

set password;

show grants;

如果grant的权限给定了库、表、列。那么它们将被分别记录到db、tables_priv、column_priv权限表里。revoke也是从相关表里将记录删除掉。

注:如果MySQL版本升级到一个新的版本,要运行mysql_update命令把那些权限表也升级到新版本的结构。

1、高级mysql用户管理

1)创建用户

create user 'user'@'hostname' identified by

'passwd';

通配符:

“%”字符是一个通配符,主机名如果设置为“%”,就表示“任意一台主机”。

“-”也可以用在主机名部分里,可以匹配任意单个字符。

例:如果让用户从a.com域中的任意一台主机去连接服务器,需要把主机名设置“%.a.com”

create user 'username'@'%.a.com' identified

by 'passwd';

如果让用户从网段中访问,也可以使用网段或者“192.168.1.%”

create user 'username'@'192.168.1.%'

identified by 'passwd';

2)删除用户

3)重命名用户

2、对账户授权

grant privileges (column) on dbname.tablename to 'username'@'hostname' identified

by 'passwd' [REQUIRE] [WITH]

1)确定账户的权限

可以授予用户的权限分为很多种,我们把这些权限按照管理类别分表。

数据库管理权限表

权限名

该权限所允许的操作

Create user

创建用户

File

读、写MySQL服务器主机上的文件

Grant Option

授权

Process

查看服务器运行的线程

Reload

重新加载权限数据表或者更新日志及缓存

Replication client

查询主/从服务器的运行地点

Replication slave

以复制的从服务器运行

Show database

用show database 语句查看全体数据库的名字

Shutdown

关闭服务器

Super

用kill命令终止线程以及进行其他超级用户操作

数据库对象操作权限

权限名

该权限所允许的操作

Alter

更改数据表和索引的定义

Alter routine

更改或者删除存储函数和存储过程

Create

创建数据库和数据表

Create routine

创建存储函数和存储过程

Create temporary tables

用temporary关键字创建临时数据表

Create view

创建视图

Delete

删除数据表里的现有数据行

Drop

删除数据库、数据表和其他对象

Event

为事件调度程序创建、删除或修改各种事件

Execute

执行存储函数和存储过程

Index

创建或删除索引

Insert

插入数据

Lock tables

用lock tables 语句明确锁定数据表

Select

查询

Show view

用show create view 语句查看视图的定义

Trigger

创建或者删除触发器

Update

修改数据行

其他权限

权限名

该权限所允许的操作

All

所有操作(不包括grant)

Usage

一个特殊的“无权限”权限

权限级别限定符

权限限定符

有关权限的作用范围

ON *.*

全局级

ON dbname.*

数据库级

ON dbname.tablename

数据表级

ON tablename

数据表级

ON dbname.routine_name

存储例程权限

2)使用“无权限”的USAGE权限

USAGE的用法是:授予全局级USAGE权限,指定账户名,给出该账户与权限无关的特性值。

比如:如果你想在不影响账户权限的前提下改变该账户的口令,或要求用户必须使用SSL连接,或者想对该账户限制连接,可以使用下面几条语句:

grant usage on *.* to account identified by 'passwd';

grant usage on *.* to account require SSL;

grant usage on *.* to account with max_connections_per_hour

10;

3、查看账户的权限

4、撤销权限和删除用户

revoke privileges on dbname.tablename from 'username'@'hostname';

5、改变口令

set password for 'username'@'hostname' =

PASSWORD ('passwd')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值