MySQL 数据库GRANT命令增添新用户教程
在mysql中我们要增加除了root用户之外的用户的方法有很多种,你我们不太懂命令的最简单的办法就是直接使用图形界面来操作,如phpmyadmin数据库管理工具,如果你懂命令我们可以直接使用GRANT命令增添新用户来操作.
GRANT语句增加新用户:
注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符.
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
例1,代码如下:
- shell>mysql--user=rootmysqlmysql>GRANTALLPRIVILEGESON*.*TOmonty@localhostIDENTIFIEDBY'something'WITHGRANTOPTION;
- mysql>GRANTALLPRIVILEGESON*.*TOmonty@"%"IDENTIFIEDBY'something'WITHGRANTOPTION;mysql>GRANTRELOAD,PROCESSON*.*TOadmin@localhost;
- mysql>GRANTUSAGEON*.*TOdummy@localhost;
直接通过发出INSERT语句增加同样的用户存取信息,然后告诉服务器再次装入授权表,代码如下:
- shell>mysql--user=rootmysqlmysql>INSERTINTOuserVALUES('localhost','monty',PASSWORD('something'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
- mysql>INSERTINTOuserVALUES('%','monty',PASSWORD('something'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
- mysql>INSERTINTOuserSETHost='localhost',User='admin',Reload_priv='Y',Process_priv='Y';
- mysql>INSERTINTOuser(Host,User,Password)VALUES('localhost','dummy','');mysql>FLUSHPRIVILEGES;
为了使用GRANT语句设置个用户的权限,运行这些命令,代码如下:
- shell>mysql--user=rootmysqlmysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONbankaccount.*TOcustom@localhostIDENTIFIEDBY'stupid';mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONexpenses.*TOcustom@whitehouse.govIDENTIFIEDBY'stupid';mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONcustomer.*TOcustom@'%'IDENTIFIEDBY'stupid';
通过直接修改授权表设置用户权限,运行这些命令,注意,在结束时FLUSH PRIVILEGES),代码如下:
- shell>mysql--user=rootmysqlmysql>INSERTINTOuser(Host,User,Password)VALUES('localhost','custom',PASSWORD('stupid'));
- mysql>INSERTINTOuser(Host,User,Password)VALUES('server.domain','custom',PASSWORD('stupid'));mysql>INSERTINTOuser(Host,User,Password)VALUES('whitehouse.gov','custom',PASSWORD('stupid'));--phpfensi.com
- mysql>INSERTINTOdb(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>INSERTINTOdb(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>INSERTINTOdb(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>FLUSHPRIVILEGES;
如果上面的代码让你看不清楚或看的头晕的话我们可以利用phpmyadmin来修改密码.
1、新建数据库:
进入phpmyadmin管理界面以后,找到如下文字“创建一个新的数据库”,然后在下面填上要新建的数据库的名称,在后面的下拉列表中选择数据库的编码,一般为“gb2312_chinese_bin”,点击“创建”按钮,这样就新建了一个数据库。
2、新建此数据库的对应帐户
在phpmyadmin管理界面点击“权限”,打开链接,点击“添加新用户”,在打开的页面中会看到“登入信息”,输入用户名、主机(一般为本地:localhost)、密码后,因为我们现在是要给单个用户配置单个数据库的权限,所以我们在这里不选择“全局权限”,然后点击最下面的“执行”按钮,这样就新建了一个用户名。
3、为新建的用户添加此数据库权限
添加完用户以后,管理界面的上方会提示“您已添加了一个新用户”,我们现在就给新建的用户添加权限,在下面找到“按数据库指定权限”,然后点击“在下列数据库添加权限”后面的下拉列表,选择数据库,选择数据下面的全部,然后选择结构除了最下面三个以外的复选框,其他一律不选,然后点击“执行”按钮,这样就配置好了这个用户完全管理这个数据库的权限了.
注:因为我们只是要给这个用户管理这个数据库的全部权限,但是没有其他数据库的管理权限,所以在配置权限的时候一定要注意。
附:在phpmyadmin中显示的用户权限都是英文的,我们在此附上中文翻译.
数据:
- SELECT:允许读取数据。
- INSERT:允许插入和替换数据。
- UPDATA:允许更改数据。
- DELETE:允许删除数据。
- FILE:允许从文件中导入数据以及将数据导出至文件。
结构:
- CREATE:允许创建新数据库和表。
- ALTER:允许修改现有表的结构。
- INDEX:允许创建和删除索引。
- DROP:允许删除数据库和表。
- CREATETEMPORARYTABLES:允许创建暂时表。
- CREATEVIEW:允许创建新的意见。
- SHOWVIEW:显示创建的看法。
- CREATEROUTINE:允许创建存储过程。
- ALTERROUTINE:允许改变和下降存储过程。
- EXECUTE:允许许执行存储过程。
管理:
- GRANT:允许添加用户和权限,而不允许重新载入权限表。
- SUPER:允许在达到最大允许数目时仍进行连接。
- PROCESS:允许查看进程列表中的完整查询。
- RELOAD:允许重新载入服务器设置并刷新服务器的缓存。
- SHUTDOWN:允许关闭服务器。
- SHOWDATABASES:允许访问完整的数据库列表。
- LOCKTABLES:允许锁住当前线索的表。
- REFERENCES:在此版本的MySQL中无效。
- REPLICATIONCLIENT:用户有权询问附属者/控制者在哪里。
- REPLICATIONSLAVE:回复附属者所需。
- CREATEUSER:允许创建,下降和重新命名的用户帐户。
热门评论