0

0

MySQL用户与权限管理

php中文网

php中文网

发布时间:2016-06-01 13:13:45

|

1187人浏览过

|

来源于php中文网

原创

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。laplacedemon/sjq

MySQL权限系统简介

MySQL的权限相关信息主要存储在几个被称为grant tables的系统表中,即mysql.User,mysql.db,mysql.Host,mysql.table_priv和mysql.column_priv。

权限信息数据量小,且访问频繁,所以每次启动MySQL时,都会将所有权限信息都加载到内存中,并保存在几个特定的结构里。所有每次手动修改了相关权限表之后,都需要执行“FLUSH PRIVILEGES”命令。

使用GRANT命令,REVOKE命令,CREATER USER命令,DROP USER命令修改用户相关权限时,在修改grant tables的同时,也会修改内存中的权限信息。

尽量使用GRANT,REVOKE,CREATER USER,DROP USER等命令。

用户管理

CREATER USER 命令创建用户

创建用户首先必须拥有mysql数据库的全局CREATE USER 权限,或INSERT权限。对于每个账户,CREATE USER会在没有权限的mysql.user表中创建一条记录。若账户不存在,则出现错误。使用自选的IDENTIFIED BY子句设置用户密码。

该命令创建的用户无任何特别权限,仅拥有初始USAGE权限。

CREATE USER user [IDENHTITY BY [PASSWORD ‘PASSWORD’]][, user [IDENHTITY BY [PASSWORD ‘PASSWORD’]]]

DROP USER命令删除用户

闲置账户应该被删除。DROP USER 不能自动关闭任何打开的用户对话;而且,若用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效。一旦对话被关闭,用户也被取消,此用户再次登录时将失败。

DROP USER user[,user]...

RENAME USER 重命名用户

当旧账户不存在或新账户已存在,则会出现错误。

RENAME USER old_user TO new_user[ ,old_user TO new_user]...

权限管理

要为某个用户授权使用GRANT命令,要去除某个用户的权限使用REVOKE命令。还有一种暴力的方法即直接更新grant tables系统表。

当给某个用户授权时,需要指定用户名与主机。格式:’username’@’hostname’。授权时,若仅指定用户名,则MySQL会自动认为是对’username’@’% ’授权。要去除某个用户的权限,也需要指定主机。

查看某个用户的权限

方法一:

SHOW GRANTS FOR ’username’@’hostname’

方法二:

查询grant tables的权限信息。

GRANT和REVOKE命令

GRANT和REVOKE命令用来管理访问权限,也可以用来创建和删除用户,但在MySQL5.0.2可以利用GREATE USER和DROP USER命令更容易实现。

GRANT和REVOKE命令对于谁可以操作服务器及其内容的各个方面提供了多程度的控制,从谁可以关闭服务器,到谁可以修改特定表字段中的信息都能控制。

普通用户的权限权限应用于描述

SELECT表,列允许用户从表中选择行(记录)

INSERT表,列允许用户在表中插入新行

UPDATE表,列允许用户修改现存表里行中的值

DELETE表允许用户删除现存表的行

INDEX表允许用户创建和拖动特定表索引

ALTER表允许用户改变现存表的结构。例如,可添加列、重命名列或表、修改列的数据类型

CREATE数据库,表允许用户创建新数据库或表。如果在GRANT中指定了一个特定的数据库或表,他们只能够创建该数据库或表,即他们必须首先删除(Drop)它

DROP数据库,表允许用户拖动(删除)数据库或表

管理员权限权限描述

CREATE TEMPORARY TABLES允许管理员在CREATE TABLE语句中使用TEMPORARY关键字

FILE允许将数据从文件读入表,或从表读入文件

LOCK TABLES允许使用LOCK TABLES语句

PROCESS允许管理员查看属于所有用户的服务器进程

RELOAD允许管理员重新载入授权表、清空授权、主机、日志和表格

REPLICATION CLIENT允许在复制主机(Master)和从机(Slave)上使用SHOW STATUS

REPLICATION SLAVE允许复制从服务器连接到主服务器

SHOW DATABASES允许使用SHOW DATABASES语句查看所有的数据库列表。没有这个权限,用户只能看到他们能够看到的数据库

SHUTDOWN允许管理员关闭MySQL服务器

I-Shop购物系统
I-Shop购物系统

部分功能简介:商品收藏夹功能热门商品最新商品分级价格功能自选风格打印结算页面内部短信箱商品评论增加上一商品,下一商品功能增强商家提示功能友情链接用户在线统计用户来访统计用户来访信息用户积分功能广告设置用户组分类邮件系统后台实现更新用户数据系统图片设置模板管理CSS风格管理申诉内容过滤功能用户注册过滤特征字符IP库管理及来访限制及管理压缩,恢复,备份数据库功能上传文件管理商品类别管理商品添加/修改/

下载

SUPER允许管理员关闭属于任何用户的线程

特别的权限权限描述

ALL(或ALL PREVILEGES)授予所有权限

USAGE不授予权限。这将创建一个用户并允许他登录,但不允许其他操作,如update/select 等。

授权层级

MySQL中的权限分为5个级别:

全局层级(Global Level)

数据库层级(Databases Level)

表层级(Table Level)

列层级(Column Level)

子程序层级(Routine Level)

权限生效

MySQL数据库服务器启动时,以及使用GRANT与REVOKE语句的时,服务器会自动读取grant表。同时,可以手动修改它们。

当手动更新它们时,MySQL服务器将不会注意到他们已经被修改了。必须向服务器指出已经对权限进行修改,有3种方法可以实现这个任务。可以在MySQL命令提示符下(必须以管理员身份进入)键入命令:

flush privileges;

或者在shell环境下使用

mysqladmin flush-privileges

mysqladmin reload

此后当数据库再次连接的时候,系统将检查全局级别权限;当下一条命令被执行时,将检查数据库级别的权限;而表级别和列级别权限权限将在用户下次请求的时候被检查。

设置账户密码

可以用mysqladmin命令指定密码:

mysqladmin -u user_name -h host_name password “newpwd”

mysqladmin重设服务器host_name,且用户名为user_name用户的密码,新密码为“newpwd”。

set password命令设置用户密码:

只有特定用户(可以更新mysql数据库的用户,如root)身份登录,才可以修改其他用户密码。

set password for‘jeffrey’@’%’=password(‘biscuit’);

若不以匿名用户连接,则可以省略for子句而修改自己的密码:

set password =password(‘biscuit’);

在全局级别下使用GRANT USAGE语句(在*.*)指定某个账户的密码,而不影响账户当前权限:

GRANT USAGE ON *.* TO ‘jeffrey’@’%’ IDENTIFIED BY ’biscuit’;

在创建新账户时建立密码,要为password列提供一个具体值:

mysql -u root mysql

INSERT INTO user(Host,User,Password) VALUES (‘%’,’jeffrey’,PASSWORD(‘biscuit’’));

FLUSH PRIVILEGES;

更改已有账户的密码,要应用UPDATE语句来设置password列值。

mysql -u root mysql

UPDATE user SET Password =PASSWORD(‘bagel’) WHERE Host = ‘%’ AND User =’francis’;

FLUSH PRIVILEGES;

设置密码时,使用SET PASSWORD,INSERT,UPDATE设定密码,使用PASSWORD()函数对密码进行加密。

若使用GRANT..IDENTIFIED BY语句或mysqladmin password命令设置密码,这些命令会对密码自动加密,不需要使用PASSWORD()函数。

注意安全

在管理级别,一定不能将mysql.user表的访问权限授予任何非管理账户。

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。laplacedemon/sjq

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

705

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

233

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

117

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

22

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

61

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

30

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

669

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

58

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 5.8万人学习

MongoDB 教程
MongoDB 教程

共17课时 | 2.9万人学习

CSS教程
CSS教程

共754课时 | 33.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号