此文章主要向大家讲述的是在MySQL数据库中增加新用户权限的实际操作流程,我在一个信誉度很好的网站找到一个关于MySQL数据库中增加新用户权限的实际操作流程的资料,拿出来供大家分享。
有2个不同的 *** 增加用户:通过使用GRANT语句或通过直接操作MySQL(和PHP搭配之更佳组合)授权表。比较好的 *** 是使用GRANT语句,因为他们是更简明并且好像错误少些。
下面的例子显示出如何使用MySQL(和PHP搭配之更佳组合)客户安装新用户。这些例子假定权限根据以前的章节描述的缺省被安装。这意味着为了改变,你必须在MySQL(和PHP搭配之更佳组合)d正在运行同一台机器上,你必须作为MySQL(和PHP搭配之更佳组合) root用户连接,并且root用户必须对MySQL数据库有insert权限和reload管理权限。另外,如果你改变了root用户口令,你必须如下的MySQL(和PHP搭配之更佳组合)命令指定它。
你可以通过发出GRANT语句增加新用户:
shell> MySQL(和PHP搭配之更佳组合) --user=root MySQL(和PHP搭配之更佳组合)
MySQL(和PHP搭配之更佳组合)> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY 'something' WITH GRANT OPTION;
MySQL(和PHP搭配之更佳组合)> GRANT ALL PRIVILEGES ON *.* TO monty@"%"
IDENTIFIED BY 'something' WITH GRANT OPTION;
MySQL(和PHP搭配之更佳组合)> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
MySQL(和PHP搭配之更佳组合)> GRANT USAGE ON *.* TO dummy@localhost;
这些GRANT语句安装3个新用户:
monty
可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令('something'做这个。注意,我们必须对monty@localhost和monty@"%"发出GRANT语句。如果我们增加localhost条目,对localhost的匿名用户条目在我们从本地主机连接接时由MySQL(和PHP搭配之更佳组合)_install_db创建的条目将优先考虑,因为它有更特定的Host字段值,所以以user表排列顺序看更早到来。
admin
可以从localhost没有一个口令进行连接并且被授予reload和process管理权限的用户。这允许用户执行MySQL(和PHP搭配之更佳组合)admin reload、MySQL(和PHP搭配之更佳组合)admin refresh和MySQL(和PHP搭配之更佳组合)admin flush-*命令,还有MySQL(和PHP搭配之更佳组合)admin processlist。没有授予MySQL数据库有关的权限。他们能在以后通过发出另一个GRANT语句授权。
dummy
可以不用一个口令连接的一个用户,但是只能从本地主机。全局权限被设置为'N'--USAGE权限类型允许你无需权限就可设置一个用户。它假定你将在以后授予MySQL数据库相关的权限。
你也可以直接通过发出INSERT语句增加同样的用户存取信息,然后告诉服务器再次装入授权表:
shell> MySQL(和PHP搭配之更佳组合) --user=root MySQL(和PHP搭配之更佳组合)
MySQL(和PHP搭配之更佳组合)> INSERT INTO user VALUES('localhost','monty',PASSWORD('something'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
MySQL(和PHP搭配之更佳组合)> INSERT INTO user VALUES('%','monty',PASSWORD('something'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
MySQL(和PHP搭配之更佳组合)> INSERT INTO user SET Host='localhost',User='admin',
Reload_priv='Y', Process_priv='Y';
MySQL(和PHP搭配之更佳组合)> INSERT INTO user (Host,User,Password)
VALUES('localhost','dummy','');
MySQL(和PHP搭配之更佳组合)> FLUSH PRIVILEGES;
取决于你的MySQL(和PHP搭配之更佳组合)版本,对上述,你可能必须使用一个不同数目'Y'值(在3.22.11以前的版本有更少的权限列)。对admin用户,只用在3.22.11开始的版本具有的更加可读的INSERT扩充的语法。
注意,为了设置一个超级用户,你只需创造一个user表条目,其权限字段设为'Y'。不需要db或host表的条目。
在user表中的权限列不是由最后一个INSERT语句明确设置的(对dummy用户),因此那些列被赋予缺省值'N'。这是GRANT USAGE做的同样的事情。
下列例子增加一个用户custom,他能从主机localhost、server.domAIn和whitehouse.gov连接。他只想要从localhost存取MySQL数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer数据库。他想要从所有3台主机上使用口令stupid。
为了使用GRANT语句设置个用户的权限,运行这些命令:
shell> MySQL(和PHP搭配之更佳组合) --user=root MySQL(和PHP搭配之更佳组合)
MySQL(和PHP搭配之更佳组合)> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON bankaccount.*
TO custom@localhost
IDENTIFIED BY 'stupid';
MySQL(和PHP搭配之更佳组合)> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON expenses.*
TO custom@whitehouse.gov
IDENTIFIED BY 'stupid';
MySQL(和PHP搭配之更佳组合)> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON customer.*
TO custom@'%'
IDENTIFIED BY 'stupid';
通过直接修改授权表设置用户权限,运行这些命令(注意,在结束时FLUSH PRIVILEGES):
shell> MySQL(和PHP搭配之更佳组合) --user=root MySQL(和PHP搭配之更佳组合)
MySQL(和PHP搭配之更佳组合)> INSERT INTO user (Host,User,Password)
VALUES('localhost','custom',PASSWORD('stupid'));
MySQL(和PHP搭配之更佳组合)> INSERT INTO user (Host,User,Password)
VALUES('server.domain','custom',PASSWORD('stupid'));
MySQL(和PHP搭配之更佳组合)> INSERT INTO user (Host,User,Password)
VALUES('whitehouse.gov','custom',PASSWORD('stupid'));
MySQL(和PHP搭配之更佳组合)> 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(和PHP搭配之更佳组合)> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES
('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');
MySQL(和PHP搭配之更佳组合)> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');
MySQL(和PHP搭配之更佳组合)> FLUSH PRIVILEGES;
头3个INSERT语句增加user表条目,允许用户custom用给定口令从不同的主机进行连接,但是没有授予任何许可(所有权限被设置为缺省值'N')。后3个INSERT语句增加db表条目,授予custom以bankaccount、expenses和MySQL数据库权限,但是只能在从正确的主机存取时。通常,在授权表直接被修改时,服务器必须被告知再次装入他们(用FLUSH PRIVILEGES)以便使权限修改生效。
如果你想要给特定的用户从一个给定的域上的任何机器上存取权限,你可以发出一个如下的GRANT语句:
MySQL(和PHP搭配之更佳组合)> GRANT ...
ON *.*
TO myusername@"%.mydomainname.com"
IDENTIFIED BY 'mypassword';
为了通过直接修改授权表做同样的事情,这样做:
MySQL(和PHP搭配之更佳组合)> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',
PASSWORD('mypassword'),...);
MySQL(和PHP搭配之更佳组合)> FLUSH PRIVILEGES;
你也可以使用xMySQL(和PHP搭配之更佳组合)admin、MySQL(和PHP搭配之更佳组合)_webadmin甚至xMySQL(和PHP搭配之更佳组合)在授权表中插入、改变和更新值。你可以在MySQL(和PHP搭配之更佳组合)的Contrib目录找到这些实用程序。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
很多使用Windows 7系统的朋友都想小编反应,假如暂停使用电脑,鼠标会出现停顿现象,这是怎么回事呢 该怎么解决呢 下面就和小编一起去看下Windows 7 usb鼠标停顿的解决方法吧。 由于Windows 7系统中有一项USB选择性暂停造成的。这项设置主要为了节电,当他检测到用户没有对系统进行...
正在启动windows时间长怎么办 小编带来了Windows 7/8.1正在启动windows时间长解决方法,假如有朋友在安装完Windows系统之后一直停留在“正在启动windows”的话,不妨试一试下文的方法哦~ 原因:Windows 7/8.1不完全支持UEFI,需要CSM(Comp...
在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...
故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态 Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...
重装系统是我们面对许多电脑问题时的终极方法,不过重装系统也不意味着就能将全部的问题都修复。一些用户在重装系统后开机时,电脑卡在“正在启动Windows”开机界面上了,这要怎么解决呢? Windows 7系统重装后卡在开机界面的解决方法: 一、首先可以看看该故障出现的原因是否是因为启动了acp...
ubuntu14.04应用窗口列表在哪里?在ubuntu下打开个几个应用窗口最小化后怎么切换呢,应用窗口列表在哪里呢? 1、多打开几个chrome浏览器窗口。 2、然后都做最小化处理。 3、现在我们在桌面左边的面板上找到"左右两边有小白点"的chrome浏览器应用图标,这就是chr...