如何实现My SQL中的用户的管理问题(3)
来源:ddvip.com 发布时间:2008-12-03 13:56:00
下面是演示系统是如何进行搜索的:
<
+-----------+---------+-
| Host | User | ...
+-----------+---------+-
| % | root | ...
| % | jeffrey | ...
| localhost | root | ...
| localhost | | ...
+-----------+---------+-
搜索的顺序应当是:
localhost/root
localhost/any
any/jeffrey
any/root
这样,如果在localhost的用户jeffrey要连接数据库的话,那么其授权应当根据localhost/“任意” 行所规定的权限而非“任意”/jeffrey行所规定的权限,请大家注意这一点,因为如果不合适的配置完全可能会使得你无法正常地使用这个数据库系统。
我们现在来看一个添加一个用户的例子:需要添加一名叫做“custom”用户,他分别从主机'localhost', 'server.domain' 和 'whitehouse.gov'连接到数据库中,他的口令为“stupid”,对于数据库'bankaccount'他只想从“localhost”进行访问,而“customer”数据库则应当被上述3个主机所访问。我们通过以下的sql语句来完成其操作。
shell> mysql mysql.
mysql> insert into user (host,user,password)
values('localhost','custom',password('stupid'));
mysql> insert into user (host,user,password)
values('server.domain','custom',password('stupid'));
mysql> insert into user (host,user,password)
values('whitehouse.gov','custom',password('stupid'));
mysql> insert into db
(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
values
('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
mysql> insert into db
(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
values
('%','customers','custom','Y','Y','Y','Y','Y','Y');
3、授权数据表
授权数据表对表的行操作包括select,insert,update和delete,对表和数据库的操作包括create和drop。其它的授权还包括如LOAD DATA INFILE和SELECT INTO OUTFILE和管理命令:shutdown, reload, refresh 和process.三个授权数据表的结构如下所示:
user表
字段 类型 健 默认值
Host char(60) PRI ""
User char(16) PRI ""
Password char(16) - ""
Select_priv enum('N','Y') - N
Insert_priv enum('N','Y') - N
Update_priv enum('N','Y') - N
Delete_priv enum('N','Y') - N
Create_priv enum('N','Y') - N
Drop_priv enum('N','Y') - N
Reload_priv enum('N','Y') - N
Shutdown_priv enum('N','Y') - N
Process_priv enum('N','Y') - N
File_priv enum('N','Y') - N
db表
字段 类型 健 默认值
Host char(60) PRI ""
Db char(64) PRI ""
User char(16) PRI ""
Select_priv enum('N','Y') - N
Insert_priv enum('N','Y') - N
Update_priv enum('N','Y') - N
Delete_priv enum('N','Y') - N
Create_priv enum('N','Y') - N
Drop_priv enum('N','Y') - N
host 表只有在db的数据项中出现host为空的情况下使用。


猜你喜欢
- 前言之前接触到的数据库死锁,都是批量更新时加锁顺序不一致而导致的死锁,但是上周却遇到了一个很难理解的死锁。借着这个机会又重新学习了一下mys
- Django项目配置修改我们需要把原先的Django项目进行修改才能更好地进行项目迁移工作,首先需要修改的是settings.py文件。由于
- 列表解析——用来动态地创建列表[expr for iter_var in iterable if cond_expr]例子一:map(lam
- 实例代码:import tkinter as tk import tkinter.filedialogimport cv2def choos
- 本文实例讲述了Python使用sklearn实现的各种回归算法。分享给大家供大家参考,具体如下:使用sklearn做各种回归基本回归:线性、
- golang监听消息队列rabbitmq任务脚本,当rabbimq消息队列断开连接后自动重试,重新唤起协程执行任务需求背景:goalng常驻
- 注意,本文代码是使用在txt文档上,同时txt文档中的内容每一行代表的是图片的名字。#coding:utf-8 import shutil
- 首先这是一个先有鸡还是先有蛋的问题,大部分时候数据都来自excel的整理,当数据越来越多,需要分析的点也越来越多的时候,通过excel来管理
- 音频预处理这一讲主要介绍些音频基本处理方式,为接下来的语音识别打基础。三种播放音频的方式使用 python 播放音频有以下几种方式:os.s
- 鸭子类型基本定义首先Python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。以下是 * 中对鸭子类型得论述:在程
- 1. assert函数说明:Assert statements are a convenient way to insert debuggi
- 1、$nextTickvm.$nextTick( [callback] )this.$nextTick()将回调延迟到下次 DOM 更新循环
- 一、下载1、官网下载2、某度网盘下载链接: https://pan.baidu.com/s/1BgbZH-aFaJ1nwm2PpDeOSQ?
- python 线程池的四种实现方式线程简述 一个程序运行起来后,一定有一个执行代码的东西,这个东西就是线程; 一般计算(
- SQL查询服务器下所有数据库及数据库的全部表获取所有用户名SELECT * FROM sys.sysusers获取所有用户数据库SELECT
- 直接使用word文档已经难不倒大家了,有没有想过用python构建一个word文档写点文章呢?当然这个文章的框架需要我们用代码一点点的建立,
- split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。split()方法定义于
- 1. 返回列表和标量(Scalar)前面我们注意到Query对象可以返回可迭代的值(iterator value),然后我们可以通过for
- 申明本博客不提供任何服务器端程序,也不提供任何收费抢购软件。该博客仅用于学习selenium自动化工具。如有侵犯到任何公司的合法权益,请私信
- 此处收集的是一些夺人心魄的创意广告牌,巧妙的构思十分值得大家观瞻.......超人归来 superman returnsNespressos