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

来源:互联网 发布:删除Mac本上的图片 编辑:程序博客网 时间:2024/05/16 11:33

一 用户权限操作
增加新用户,并给予指定的权限
格式: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上正常登陆
但是程序中是否有影响,那就要具体问题具体分析了 

原创粉丝点击