详解MySQL数据库安全配置
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-18
-----------+ 4 rows in set (0.00 sec) Windows平台的user表是这样的: mysql> use mysql; Database changed mysql> select Host,User,Password,Select_priv,Grant_priv from user; +-----------+------+----------+-------------+------------+ | Host | User | Password | Select_priv | Grant_priv | +-----------+------+----------+-------------+------------+ | localhost | root | | Y | Y | | % | root | | Y | Y | | localhost | | | Y | Y | | % | | | N | N | +-----------+------+----------+-------------+------------+ 4 rows in set (0.00 sec) 我们先来看Unix平台的user表。其中redhat只是我试验机的机器名,所以实际上Unix平台的MySQL默认只允许本机才能连接数据库。但是缺省root用户口令是空,所以当务之急是给root用户加上口令。给数据库用户加口令有三种方法: 1)在shell提示符下用mysqladmin命令来改root用户口令: shell>mysqladmin -uroot password test 这样,MySQL数据库root用户的口令就被改成test了。(test只是举例,我们实际使用的口令一定不能使用这种易猜的弱口令) 2)用set password修改口令: mysql> set password for root@localhost=password(''test''); 这时root用户的口令就被改成test了。 3)直接修改user表的root用户口令: mysql> use mysql; mysql> update user set password=password(''test'') where user=''root''; mysql> flush privileges; 这样,MySQL数据库root用户的口令也被改成test了。其中最后一句命令flush privileges的意思是强制刷新内存授权表,否则用的还是缓冲中的口令,这时非法用户还可以用root用户及空口令登陆,直到重启MySQL服务器。 我们还看到user为空的匿名用户,虽然它在Unix平台下没什么权限,但为了安全起见我们应该删除它: mysql> delete from user where user=''''; |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: MySQL平台数据库备份方案详细说明下一篇: Linux应用集成MySQL数据库访问技巧
关于详解MySQL数据库安全配置的所有评论