当前位置:首页 > Mysql教程 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-05 17:11:43 浏览: 评论:0 

在mysql中我们要增加除了root用户之外的用户的方法有很多种,你我们不太懂命令的最简单的办法就是直接使用图形界面来操作,如phpmyadmin数据库管理工具,如果你懂命令我们可以直接使用GRANT命令增添新用户来操作.

GRANT语句增加新用户:

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

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

例1,代码如下:

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

直接通过发出INSERT语句增加同样的用户存取信息,然后告诉服务器再次装入授权表,代码如下:

  1. 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') 
  2. mysql> INSERT INTO user VALUES('%','monty',PASSWORD('something'),         'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'
  3. mysql> INSERT INTO user SET Host='localhost',User='admin',          Reload_priv='Y', Process_priv='Y'
  4. mysql> INSERT INTO user (Host,User,Password)             VALUES('localhost','dummy',''); mysql> FLUSH PRIVILEGES

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

  1. 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),代码如下:

  1. shell> mysql --user=root mysql mysql> INSERT INTO user (Host,User,Password)     VALUES('localhost','custom',PASSWORD('stupid')); 
  2. 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'));  --phpfensi.com 
  3. 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'); 
  4. mysql> FLUSH PRIVILEGES

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

1、新建数据库:

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

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

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

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

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

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

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

数据:

  1. SELECT:允许读取数据。 
  2. INSERT:允许插入和替换数据。 
  3. UPDATA:允许更改数据。 
  4. DELETE:允许删除数据。 
  5. FILE:允许从文件中导入数据以及将数据导出至文件。 

结构:

  1. CREATE:允许创建新数据库和表。 
  2. ALTER:允许修改现有表的结构。 
  3. INDEX:允许创建和删除索引。 
  4. DROP:允许删除数据库和表。 
  5. CREATE TEMPORARY TABLES:允许创建暂时表。 
  6. CREATE VIEW:允许创建新的意见。 
  7. SHOW VIEW:显示创建的看法。 
  8. CREATE ROUTINE:允许创建存储过程。 
  9. ALTER ROUTINE:允许改变和下降存储过程。 
  10. EXECUTE:允许许执行存储过程。 

管理:

  1. GRANT:允许添加用户和权限,而不允许重新载入权限表。 
  2. SUPER:允许在达到最大允许数目时仍进行连接。 
  3. PROCESS:允许查看进程列表中的完整查询。 
  4. RELOAD:允许重新载入服务器设置并刷新服务器的缓存。 
  5. SHUTDOWN:允许关闭服务器。 
  6. SHOW DATABASES:允许访问完整的数据库列表。 
  7. LOCK TABLES:允许锁住当前线索的表。 
  8. REFERENCES:在此版本的 MySQL 中无效。 
  9. REPLICATION CLIENT:用户有权询问附属者/控制者在哪里。 
  10. REPLICATION SLAVE:回复附属者所需。 
  11. CREATE USER:允许创建,下降和重新命名的用户帐户。

Tags: MySQL增添新用户 GRANT命令

分享到: