一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

MySQL 数据库GRANT命令增添新用户教程

时间:2013-05-28 编辑:简简单单 来源:一聚教程网

GRANT语句增加新用户:


(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)

格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

例1

 

 代码如下 复制代码

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;


直接通过发出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;

为了使用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;

 
如果上面的代码让你看不清楚或看的头晕的话我们可以利用phpmyadmin来修改密码。

1、新建数据库

    进入phpmyadmin管理界面以后,找到如下文字“创建一个新的数据库”,然后在下面填上要新建的数据库的名称,在后面的下拉列表中选择数据库的编码,一般为“gb2312_chinese_bin”,点击“创建”按钮,这样就新建了一个数据库。

2、新建此数据库的对应帐户

    在phpmyadmin管理界面点击“权限”,打开链接,点击“添加新用户”,在打开的页面中会看到“登入信息”,输入用户名、主机(一般为本地:localhost)、密码后,因为我们现在是要给单个用户配置单个数据库的权限,所以我们在这里不选择“全局权限”,然后点击最下面的“执行”按钮,这样就新建了一个用户名。

3、为新建的用户添加此数据库权限

    添加完用户以后,管理界面的上方会提示“您已添加了一个新用户”,我们现在就给新建的用户添加权限,在下面找到“按数据库指定权限”,然后点击“在下列数据库添加权限”后面的下拉列表,选择数据库,选择数据下面的全部,然后选择结构除了最下面三个以外的复选框,其他一律不选,然后点击“执行”按钮,这样就配置好了这个用户完全管理这个数据库的权限了。

注:因为我们只是要给这个用户管理这个数据库的全部权限,但是没有其他数据库的管理权限,所以在配置权限的时候一定要注意。

附:在phpmyadmin中显示的用户权限都是英文的,我们在此附上中文翻译:

数据:

    SELECT:允许读取数据。

    INSERT:允许插入和替换数据。

    UPDATA:允许更改数据。

    DELETE:允许删除数据。

    FILE:允许从文件中导入数据以及将数据导出至文件。

结构:

    CREATE:允许创建新数据库和表。

    ALTER:允许修改现有表的结构。

    INDEX:允许创建和删除索引。

    DROP:允许删除数据库和表。

    CREATE TEMPORARY TABLES:允许创建暂时表。

    CREATE VIEW:允许创建新的意见。

    SHOW VIEW:显示创建的看法。

    CREATE ROUTINE:允许创建存储过程。

    ALTER ROUTINE:允许改变和下降存储过程。

    EXECUTE:允许许执行存储过程。

管理:

    GRANT:允许添加用户和权限,而不允许重新载入权限表。

    SUPER:允许在达到最大允许数目时仍进行连接。

    PROCESS:允许查看进程列表中的完整查询。

    RELOAD:允许重新载入服务器设置并刷新服务器的缓存。

    SHUTDOWN:允许关闭服务器。

    SHOW DATABASES:允许访问完整的数据库列表。

    LOCK TABLES:允许锁住当前线索的表。

    REFERENCES:在此版本的 MySQL 中无效。

    REPLICATION CLIENT:用户有权询问附属者/控制者在哪里。

    REPLICATION SLAVE:回复附属者所需。

    CREATE USER:允许创建,下降和重新命名的用户帐户。

热门栏目