MySQL创建新用户并授权的示例
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-23 15:34:01 浏览: 评论:0
对于mysql数据库创建一个新用户然后给用户授权是一个通常要做到的方法,下面一聚教程小编与大家一起学习一下MySQL创建新用户并授权的方法。
为MySQL添加新用户的方法有两种:通过使用GRANT语句或通过直接操作MySQL授权表;比较好的方法是使用GRANT语句,更简明并且很少出错。GRANT语句的格式如下:
GRANT 权限 ON 数据库.数据表 TO 用户名@登录主机 IDENTIFIED BY “密码”
例如,添加一个新用户名为phpuser,密码为字符串“brophp”。让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先要以root用户登录,然后输入以下命令:
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO phpuser@”%”IDENTIFIED BY “brophp”
但这个新增加的用户是十分危险的,如果黑客知道用户phpuser的密码,那么他就可以在网上的任何一台计算机上登录你的MySQL数据库,并可以对你的数据为所欲为了。解决办法是在添加用户时,只授权在特定的一台或一些机器上登录。例如将上例改为只允许在localhost上登录,并可以对数据库mydb执行查询、插入、修改、删除等操作,这样黑客即使知道phpuser用户的密码,也无法从网络的其他机器上访问mydb数据库,就只能通过MYSQL主机上的Web页来访问了。输入的命令如下所示:
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.*TO phpuser@localhost IDENTIFIED BY “brophp”
例子:增加一个用户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';//开源代码phpfensi.com
- mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
- ON customer.* TO custom@'%' IDENTIFIED BY 'stupid';
权限信息用user、db、host、tables_priv和columns_priv表被存储在mysql数据库中(即在名为mysql的数据库中)
设置与更改用户密码
命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword");
例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
撤销用户权限
命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';
说明: privilege, databasename, tablename - 同授权部分.
例子: REVOKE SELECT ON *.* FROM 'pig'@'%';
注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
Tags: MySQL创建新用户 MySQL授权
相关文章
- ·mysql授权用户远程访问工作笔记(2014-09-24)
- ·mysql远程连接及mysql授权方法(2014-09-24)
- ·Mysql下建立用户授权权限例子(2015-04-17)

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)