一 用户权限操作
增加新用户,并给予指定的权限
格式: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