默认安装的mysql服务不安全因素涉及的内容有: 一.mysql默认的授权表 二.缺乏日志能力 三.my.ini文件泄露口令 四.服务默认被绑定全部的网络接口上 五.默认安装路径下的mysql目录权限 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 一.mysql默认的授权表 由于mysql对身份验证是基于mysql这个数据库的,也叫授权表。所有的权限设置都在这里了。 我们只讨论最为重要的一个表 user表。它控制的是接受或拒绝连接。 先看一下 select host,user,password,Delete_priv from user; +-----------+------+------------------+-------------+ | host | user | password | Delete_priv | +-----------+------+------------------+-------------+ | localhost | root | ea1abd | Y | | % | root | | Y | | localhost | | | Y | | % | | | N | +-----------+------+------------------+-------------+ 现在新的版本,安装完毕都会出现一个快速设置窗口,用于设置口令。 以上,就是user表里的内容(略了点)看看有什么问题? 我们知道mysql的验证方式是比较特殊的,它基于两个2个信息来进行的 1.从那里连接 2.用户名 第一条没什么问题,当然口令必须是安全的。 第二条从任何主机,以用户root,不需要口令都可以连接,权限为所有的权限。(注:这里的权限是全局权限) 第三条从本地主机,任何用户名(注:user为空白,不表示不需要用户名),不需要口令,都可以连接,所有的权限 第四条从任何主机,任何用户名,不需要口令,都可以连接,无任何权限。 可以看出,都是不安全的,如何攻击这里就不说了,请参看资料文库。 如果你mysql只允许本地连接,删除host的%和user中的nul(表示空) delete from user where host='% '; delete from host where user=' '; 最后的user表,看起来因该是这个样子 +-----------+------+------------------+-------------+ | host | user | password | Delete_priv | +-----------+------+------------------+-------------+ | localhost | root | ea1abd | Y | +-----------+------+------------------+-------------+ 最后需要刷新授权表,使其立刻生效 flush privileges; 如果你的mysql需要被远程使用,需要为%段中的root帐号,加上一个安全的密码 update user set password=password(‘youpass‘) where host=‘%‘; 其中youpass,就是口令 mysql> select host,user,password,Delete_priv from user; +-----------+------+------------------+-------------+ | host | user | password | Delete_priv | +-----------+------+------------------+-------------+ | localhost | root | ea1abd | Y | | % | root | cfabc9fb | Y | +-----------+------+------------------+-------------+
推荐整理分享Mysql默认设置的危险性分析第1/2页(mysql默认值怎么设置),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql设置默认数据库语句,mysql中设置默认值,mysql默认的用户是什么,mysql数据库怎么设置默认值,mysql设置默认数据库语句,mysql设置默认数据库语句,mysql设置默认数据库语句,mysql设置默认数据库语句,内容如对您有帮助,希望把文章链接给更多的朋友!
用MySQL创建数据库和数据库表代码 1、使用SHOW语句找出在服务器上当前存在什么数据库:mysqlSHOWDATABASES;+----------+|Database|+----------+|mysql||test|+----------+3rowsinset(0.sec)2、创建一个数据库abccsmy
Mysql如何避免全表扫描的方法 在以下几种条件下,MySQL就会做全表扫描:1数据表是在太小了,做一次全表扫描比做索引键的查找来得快多了。当表的记录总数小于且记录长度比较短
mysql的校对规则引起的问题分析 问题是这样的:一张test的表,字符集采用的latin1。selectto_idfromtestwhereto_id='cn象_王';+---------------+|to_id|+---------------+|cn陶_陶||cn象_王|+---------------+2rowsinset(