向MySQL增加新用户权限

夜漠扬

夜漠扬

2016-01-29 15:00

向MySQL增加新用户权限,向MySQL增加新用户权限
  你可以有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。

下面的例子显示出如何使用mysql客户安装新用户。这些例子假定权限根据以前的章节描述的缺省被安装。这意味着为了改变,你必须在mysqld正在运行同一台机器上,你必须作为MySQL root用户连接,并且root用户必须对mysql数据库有insert权限和reload管理权限。另外,如果你改变了root用户口令,你必须如下的mysql命令指定它。

你可以通过发出GRANT语句增加新用户:

shell mysql --user=root mysql
mysql GRANT ALL PRIVILEGES ON *.* TO monty@localhost
      IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql GRANT ALL PRIVILEGES ON *.* TO monty@"%"
      IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql GRANT USAGE ON *.* TO dummy@localhost;

这些GRANT语句安装3个新用户:

monty
可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令('something'做这个。注意,我们必须对monty@localhost和monty@"%"发出GRANT语句。如果我们增加localhost条目,对localhost的匿名用户条目在我们从本地主机连接接时由mysql_install_db创建的条目将优先考虑,因为它有更特定的Host字段值,所以以user表排列顺序看更早到来。
admin
可以从localhost没有一个口令进行连接并且被授予reload和process管理权限的用户。这允许用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,还有mysqladmin processlist。没有授予数据库有关的权限。他们能在以后通过发出另一个GRANT语句授权。
dummy
可以不用一个口令连接的一个用户,但是只能从本地主机。全局权限被设置为'N'--USAGE权限类型允许你无需权限就可设置一个用户。它假定你将在以后授予数据库相关的权限。
你也可以直接通过发出INSERT语句增加同样的用户存取信息,然后告诉服务器再次装入授权表:

shell mysql --user=root mysql
mysql INSERT INTO user VALUES('localhost','monty',PASSWORD('something'),
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql INSERT INTO user VALUES('%','monty',PASSWORD('something'),
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql INSERT INTO user SET Host='localhost',User='admin',
         Reload_priv='Y', Process_priv='Y';
mysql INSERT INTO user (Host,User,Password)
            VALUES('localhost','dummy','');
mysql FLUSH PRIVILEGES;

取决于你的MySQL版本,对上述,你可能必须使用一个不同数目'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存取bankaccount数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer数据库。他想要从所有3台主机上使用口令stupid。

为了使用GRANT语句设置个用户的权限,运行这些命令:

shell mysql --user=root mysql
mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
      ON bankaccount.*
      TO custom@localhost
      IDENTIFIED BY 'stupid';
mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
      ON expenses.*
      TO custom@whitehouse.gov
      IDENTIFIED BY 'stupid';
mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
      ON customer.*
      TO custom@'%'
      IDENTIFIED BY 'stupid';
展开更多 50%)
分享

猜你喜欢

向MySQL增加新用户权限

MySQL mysql数据库
向MySQL增加新用户权限

在MySQL数据库增加新用户权限简介

MySQL mysql数据库
在MySQL数据库增加新用户权限简介

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在MySQL中增添新用户权限的方法

编程语言 网络编程
在MySQL中增添新用户权限的方法

在MySQL中增添新用户权限的方法简介

MySQL mysql数据库
在MySQL中增添新用户权限的方法简介

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

为MySQL数据库添加新用户

编程语言 网络编程
为MySQL数据库添加新用户

MySQL数据库中用GRANT语句增添新用户

MySQL mysql数据库
MySQL数据库中用GRANT语句增添新用户

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Access数据库技术(23)

Access数据库技术(23)

如何实现MySQL表数据随机读取

如何实现MySQL表数据随机读取
下拉加载更多内容 ↓