【MySQL5.0及以上和5.0以下有什么区别】

  鲁迅曾经说过:“有数据库的地方就有sql注入。" 最近也是在一直在牛牛上看各个公司的以往校园招聘的笔试和面试题目,发现这样一道有意思的问题:mysql5.0和5.0以下的版本有什么区别?我发现这个问题看是简单,但是里面包含的门道却是很多。

 答:mysql5.0以及5.0以上的版本都存在一个系统自带的系统数据库,叫做:information_schema,而5.0以下的版本不存。information_schema下面又包含了这几张表:schemata、tables、columns。这三张表依次分别存放着字段:(schema_name)、(table_name、table_schema)、(table_schema、table_name、column_name),其次就是5.0以上都是多用户,5.0以下是单用户。

总结起来就是如下的图:

那么在平时的sql的注入漏洞挖掘中,一旦判断出数据库的版本(如下图),我们就可以使用information_schema这张数据库来进行相应信息爆破,如获取表名、获取某一个表中的列名、表中的列中的数据。

某公司的网站存在sql注入,数据库版本5.7.25

然而对于5.0以下的mysql,我们只能采用暴力破解的方式来爆破表名、字段名。十分繁琐。然而现在市面中基本上很多的数据库都是5.0以上的版本(本人挖洞亲身经验)。所以大可放心。

MySQL免安装版配置 1.下载 MySQL 免安装版 2.将 MySQL 解压到待安装目录,使用%MYSQL_HOME%表示 3.打开文件my-huge.ini另存为my.ini,在my.ini文件中加入如下配置,再放到C:/windows下(也可以放在安装目录下,进行手工指定(配置) my.ini 的路径) [mysqld] basedir=E:/.../mysql(安装路径) datadir=E:/.../mysql/data(数据库路径) 4.在环境变量中设置MYSQL_HOME,把%MYSQL_HOME%\bin 加入到 path 5.在命令行运行 mysqld 即可启动 MySQL 数据库 可以执行下列操作,将mysql安装为winsow服务 1、执行命令: mysqld-nt.exe --install (安装到windows的服务) 或者是mysqld -install 2、执行命令: net start mysql (启动服务)【有时服务启动不了,尤其是重装mysql数据库时,会发生类似于服务路径不存在的情况。这是修改注册表:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MySQL\ImagePath的值为 安装路径\bin即可。】 一般情况下,这样操作后,mysql安装完成。 注: 1、如果以前系统存在mysql。则进入以前系统存在的mysql目录,执行 mysqld-nt.exe --remove(先从系统中移除mysql服务)在开始执行上面第4步。 设置MySQL中文字符集(MySQL正常显示中文) 1).配置服务器端,修改my.ini文件,使用中文字符集存储记录,同时用中文排序比较方式。 [mysqld] # set character set default-character-set=gbk # set character collation default-collation=gbk_chinese_ci 2). 如果要在中文环境的服务器端使用mysql命令行,改变my.ini文件中mysql的默认字符集。 [mysql] # set character set default-character-set=gbk
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值