`
pterodactyl
  • 浏览: 749048 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

下面的例子显示如何使用MySQL客户安装新用户。这些例子假定权限已缺省被安装。这意味着为了改变,你必须在MySQL正在运行同一台机器上,你必须作为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';

通过直接修改授权表设置用户权限,运行这些命令(注意,在结束时FLUSH PRIVILEGES):

shell> mysql --user=root 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 ('whitehouse.gov','expenses','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('%','customer','custom','Y','Y','Y','Y','Y','Y'); mysql> FLUSH PRIVILEGES;

分享到:
评论

相关推荐

    MySQL数据库中用GRANT语句增添新用户并赋给用户权限.txt

    MySQL数据库中用GRANT语句增添新用户并赋给用户权限.txt

    MySQL数据库的用户账号管理基础知识

    MySQL3.22.11引入了两个更容易进行这项工作的语句:GRANT 语句创建MySQL用户并指定其权限,REVOKE 语句删除权限。这两个语句充当mysql数据库中的授权表的前端,并提供直接操纵这些表内容的可选择的方法。本文将为...

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

    有两个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像...本文为大家介绍了如何使用mysql客户安装新用户,如何发出GRANT语句增加新用户。

    MySQL数据库用户帐号管理基础知识详解

    MySQL3.22.11引入了两个更容易进行这项工作的语句:GRANT 语句创建MySQL用户并指定其权限,REVOKE 语句删除权限。这两个语句充当mysql数据库中的授权表的前端,并提供直接操纵这些表内容的可选择的方法。本文讨论了...

    计算机二级mysql数据库程序设计练习题(二).docx

    用户名以 wang 开头的用户拥有的所有权限 计算机二级mysql数据库程序设计练习题(二)全文共12页,当前为第3页。计算机二级mysql数据库程序设计练习题(二)全文共12页,当前为第3页。 C.用户 wang 拥有的所有权限 D....

    db2自动生成数据库的语句

    DB2 怎么使用语句自动产生数据库 尤其当数据库没有测底删掉成功的时候

    MySql数据库迁移.docx

    MySql数据库迁移全文共3页,当前为第1页。MySql数据库迁移全文共3页,当前为第1页。前面分享十一主要谈到oracle数据库迁移,本分享十二集中谈谈mysql迁移解决方案。 MySql数据库迁移全文共3页,当前为第1页。 MySql...

    设置mysql远程连接

    5、 查询mysql数据库中的用户: Select host,user,password from mysql; 6、 授权给root用户可以从任何主机使用密码为’hkgt123’登录MYSQL数据库: GRANT ALL PRIVILEGES ON *.* TO root@’%’ IDENTIFIED BY ...

    MySQL数据库管理常用命令

    授权部分建立用户并授权mysql> grant all on location.* to gk1020@'10.1.11.71' identified by 'gk1020'。 取消授权mysql> revoke all on location.* from gk1020@'10.1.11.71'。 刷新权限mysql> flush privileges...

    MySQL数据库:用户的权限管理.pptx

    用户权限:和MySQL所有的数据库相关。 ;给某用户授予权限可以使用GRANT语句。使用SHOW GRANTS语句可以查看当前账户拥有什么权限。 GRANT语法格式: GRANT 权限1[(列名列表1)] [,权限2 [(列名列表2)]] ... ON [目标] ...

    MySQL数据库的基本操作命令.doc

    一、mysql服务操作 net start mysql //启动mysql服务 net stop mysql //停止mysql服务  mysql -h主机地址 -u用户名 -p用户密码...grant select on 数据库.* to 用户名@登录主机 identified by "密码" //增加新用户

    MySQL创建数据库与创建用户以及授权

    1、create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创建数据库 ...MySQL创建数据库与创建用户以及授权相关SQL语句,摘自博客http://www.cnblogs.com/janken/p/5500320.html

    使用PHP访问MySQL数据库---查询数据表.pptx

    使用PHP访问MySQL数据库 -----查询数据表 课程内容 数据定义语言(DDL) 数据操作语言(DML) 一、数据定义语言(DDL) 数据库模式定义语言(DDL),是用于描述数据库中要存储的现实世界实体的语言。一个数据库模式...

    MySQL的Grant命令

    MySQL的Grant命令详解

    MySQL DCL - 用户管理.md

    此Markdown文档提供了MySQL数据库中DCL用户管理操作的示例代码和说明。通过文档,您可以学习如何在MySQL数据库中创建、修改和删除用户,并授予或撤销其相应的权限。 示例代码演示了常用的用户管理操作: - 使用`...

    逐步精通MySQL数据库

    一般地,你可使用标准的SQL语句GRANT和REVOKE语句做,他们为你修改控制客户访问的授权表,然而,你可能由一个不支持这些语句的老版本的MySQL(在3.22.11之前这些语句不起作用),或者你发觉用户权限看起来不是以你想...

    Linux系统Mysql数据库详细安装教程!.pdf

    Linux系统Mysql数据库详细安装教程! Wnidows系统的Mysql数据库相信⼤家都会安装,也很简单,但是在linux系统下就⽐较⿇烦了, 今天就给⼤家讲解下如何在linux系统下安装Mysql数据库。 安装之前⾸先要找出系统⾃带的...

    CMD命令操作MySql数据库的方法详解

    第三:增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码” 如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先...

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

    有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误... 你可以通过发出GRANT语句增加新用户: 代码如下:shell> mysql –user=root

Global site tag (gtag.js) - Google Analytics