我的环境:
原有一mysql5.0实例,现新安装一mysql5.1,并将新的5.1实例的数据路径放在另一目录。
mysql5.1的my.ini如下
(配置my.ini的参考资料:
http://dev.mysql.com/doc/refman/5.1/en/option-files.html
http://downloads.mysql.com/docs/mysql-windows-excerpt-5.1-en.pdf
http://dev.mysql.com/doc/refman/5.0/en/multiple-windows-servers.html
关键是几个属性:
client组、mysqld组的port要不同;
mysqld组的basedir指示mysql的安装目录;
mysqld组的datadir、innodb_data_home_dir前者是数据的目录,后者是innodb的数据目录,两者必须相同,否则会报错如下:
InnoDB: No valid checkpoint found.
InnoDB: If this error appears when you are creating an InnoDB database,
InnoDB: the problem may be that during an earlier attempt you managed
InnoDB: to create the InnoDB data files, but log file creation failed.
InnoDB: If that is the case, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/error-creating-innodb.html
100515 20:50:51 [ERROR] Plugin 'InnoDB' init function returned error.
100515 20:50:51 ......
先按照下面的表结构创建mysql_order_by_test数据表,我们用实例一点一点告诉你,MySQL order by的用法。
ORDER BY uid ASC
按照uid正序查询数据,也就是按照uid从小到大排列
ORDER BY uid DESC
按照uid逆序查询数据,也就是按照uid从大到小排列
我们来看
SELECT * from mysql_order_by_test ORDER BY uid ASC
这条语句是按照uid正序查询数据,也就是按照uid从小到大排列
返回的结果就是:
1 张三 1
2 李四 2
3 王二麻子 1
我们来看
SELECT * from mysql_order_by_test ORDER BY uid DESC
这条语句是按照uid逆序查询数据,也就是按照uid从大到小排列
返回的结果是:
3 王二麻子 1
2 李四 2
1 张三 1
SQL创建代码:
CREATE TABLE IF NOT EXISTS mysql_order_by_test (
uid int(10) NOT NULL AUTO_INCREMENT,
name char(80) NOT NULL,
sex tinyint(1) NOT NULL,
KEY uid (uid)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(1, '张三', 1);
INSERT INTO mysql_order_by_test (ui ......
一.前言:
版本信息:Okphp BBS v1.3 开源版
下载地址:http://www.cncode.com/SoftView.asp?SoftID=1800
由于PHP和MYSQL本身得原因,PHP+MYSQL的注射要比asp困难,尤其是注射时语句的构造方面更是个难点,本文主要是借对Okphp BBS v1.3一些文件得简单分析,来谈谈php+mysql注射语句构造方式,希望本文对你有点帮助。
声明:文章所有提到的“漏洞”,都没有经过测试,可能根本不存在,其实有没有漏洞并不重要,重要的是分析思路和语句构造。
二.“漏洞”分析:
1.admin/login.php注射导致绕过身份验证漏洞:
代码:
$conn=sql_connect($dbhost, $dbuser, $dbpswd, $dbname);
$password = md5($password);
$q = "select id,group_id from $user_table where username='$username' and password='$password'";
$res = sql_query($q,$conn);
$row = sql_fetch_row($res);
$q = "select id,group_id from $user_table where username='$username' and password='$password'"中
$username 和 $password 没过滤, 很容易就绕过。
对于select * from $user_table where username='$u ......
一.前言:
版本信息:Okphp BBS v1.3 开源版
下载地址:http://www.cncode.com/SoftView.asp?SoftID=1800
由于PHP和MYSQL本身得原因,PHP+MYSQL的注射要比asp困难,尤其是注射时语句的构造方面更是个难点,本文主要是借对Okphp BBS v1.3一些文件得简单分析,来谈谈php+mysql注射语句构造方式,希望本文对你有点帮助。
声明:文章所有提到的“漏洞”,都没有经过测试,可能根本不存在,其实有没有漏洞并不重要,重要的是分析思路和语句构造。
二.“漏洞”分析:
1.admin/login.php注射导致绕过身份验证漏洞:
代码:
$conn=sql_connect($dbhost, $dbuser, $dbpswd, $dbname);
$password = md5($password);
$q = "select id,group_id from $user_table where username='$username' and password='$password'";
$res = sql_query($q,$conn);
$row = sql_fetch_row($res);
$q = "select id,group_id from $user_table where username='$username' and password='$password'"中
$username 和 $password 没过滤, 很容易就绕过。
对于select * from $user_table where username='$u ......
1.DATE_FORMAT('2010-05-15 15:47:36','%H:%i:%s') -> 结果:15:47:36
将日期格式根据条件不同转换成所需要的日期、时间格式
2.timediff('23:40:00', ' 18:30:00') -> 结果:05:10:00
将两个时间格式相减,得到相差的时间间隔
3.UNIX_TIMESTAMP(' 18:31:00')-UNIX_TIMESTAMP(' 18:30:00') -> 结果:60
将两个时间相减,得到的时间间隔 单位是秒 ......
一.安装
rpm方式
rpm -ivf MySQL*
tar方式
tar xzvf mysql-x.xx.tar.gz
cd mysqlp-x.xx 生成makefile
./congigure
make 编译
make install
mysql_install_db
二.启动、关闭
service mysql start
/etc/rc.d/init.d/mysql start
mysqld_safe& &表示后台启动
safe_mysqld&
service mysql stop
/etc/rc.d/init.d/mysql stop
mysqladmin shutdown tar安装方式只能用此方式
三.测试
1)ping
mysqladmin ping
2)版本
mysqladmin version
3)mysqlshow
四。连接MySQL
格式:mysql -h主机地址 -u用户名 -p密码
mysql
mysql -uroot -p
mysql -h100.100.100.100 -uroot -p
mysql mysql(数据库名)
五. 操作
show databases;每命令符号结束
use mysql;打开库
show tables;
describe 表名; 显示数据表结构
例:dese user;
六、退出MySQL
exit
七.DCL数据控制语言
数据库数据目录:/var/lib/mysql
建库
create database school;
删库
drop database schoo ......
cmd下切换到 mysql 安装目录
例
d:/mysql/bin (如果用WAMP安装则是D:\wamp\bin\mysql\mysql5.1.30\bin)
前提:mysql用户root密码为空.
输入 mysql -u root mysql
mysql> 状态下输入 update user set password=password('新密码') where user='root';
回显
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> 状态下输入 FLUSH PRIVILEGES;
回显
Query OK, 0 rows affected (0.00 sec)
mysql> 状态下输入 quit
退出 sql
注意每个命令后都要加上一个分号 ";"
mysql 才开始执行该行命令
而第二个指令会让已载入记忆体的 mysql 系统资料库更新
重起 mysql .
在更新 root 密码后,以后要与 MySQL 连接的方法为:
mysql -u root -p 新密码
二、修改phpmyadmin中mysql root的空改为新密码
例:D:\wamp\apps\phpmyadmin3.0.1.1下的config.inc文件中
$cfg['Servers'][$i]['password'] = ''改为
$cfg['Servers'][$i]['password'] = 'newpassword' ......