您的位置:首页 > 数据库 > MySQL

mysql中使用grant增加用户和权限,以及mysq加密函数

2011-04-08 12:43 363 查看
一 用户权限操作
增加新用户,并给予指定的权限
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"

权限我常用两种
1 select, insert, update, delete
2 ALL PRIVILEGES

数据库
* 代表全部数据库
notebase 指定数据库

用户名
root和非root用户

登陆主机
localhost 本机访问
% 所有IP都能访问,这个比较危险
10.0.0.11 指定IP能访问,常用的方法

我常用的方法

1 用于程序发布中,指定数据库,指定用户,权限小不影响工作(程序和数据库服务器在同一台机器上,否则用指定IP或域名)
grant select, insert, update, delete on notebase.* to nb@localhost identified by 'nb123';

不推荐使用%,这样所有的IP都能连接,不过只能对notebase操作
grant select, insert, update, delete on notebase.* to nb@"%" identified by 'nb123';

2 用于程序开发中,让指定开发人员的机器有最高访问权限
grant ALL PRIVILEGES on *.* to root@"10.0.0.11" Identified by "root" WITH GRANT OPTION;

二 mysql加密函数
顺便提一下mysql用户密码问题
以下两个语句都是改t用户密码,只是加密函数不一样

1 mysql4.1以上的用法,我用上面加用户权限时默认是这种加密函数
update user set password=password('test') where user='t';
flush privileges;

2 mysql4.1以下的用法,这种用法已经老了,只是一些旧程序中还在用
update user set password=old_password('test') where user='t';
flush privileges;

无论哪种都不影响我在mysql-5.0.22上正常登陆
但是程序中是否有影响,那就要具体问题具体分析了

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wl3115/archive/2007/11/30/1908609.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: