标签 mysql 下的文章

Mysql身份认证漏洞及利用(CVE-2012-2122)

当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。 也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。按照公告说法大约256次就能够蒙对一次。而且漏洞利用工具已经出现。受影响的产品: All MariaDB and MySQL versions up to 5.1.61, 5.2.11, 5.3.5, 5.5.22 are vulnerable. MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not. MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.网上已经出了metasploit ...

mysqldump执行时Got error: 1045

mysqldump执行时Got error: 1045: Access denied for user ‘root’@’localhost’ (using password: YES) when trying to connect

解决办法

登录mysql客户端

mysql -hserverip -uroot -p

mysql> update user set password=password('new password') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit

About mysqldump of MySQL 5.5 backup information_schema & performance_schema databases

MySQL 5.5多出了两个新数据库 information_schema &–all-databases–all-databases performance_schema mysql> show databases; +——————–+ | Database | +——————–+ | information_schema | | mysql | | performance_schema | | test | +——————–+ 但是用mysqldump去备份这两个数据库的时候都会报错 mysqldump: Got error: 1044: Access denied ...

如何卸载lnmp

killall nginx *//终止nginx进程
/etc/init.d/mysql stop *//关闭mysql
killall mysqld *//终止mysql进程
/usr/local/php/sbin/php-fpm stop *//关闭php
killall php-cgi *//终止php-cgi进程
rm -rf /usr/local/php *//删除php文件
rm -rf /usr/local/nginx *//删除nginx文件
rm -rf /usr/local/mysql *//删除mysql文件
rm -rf /usr/local/zend *//删除zend文件
rm /etc/my.cnf *//删除配置文件
rm /etc/init.d/mysql *//删除mysql文件
rm /root/vhost.sh *//删除配置虚拟主机脚本
rm /root/lnmp *//删除lnmp文件夹

[转]再谈PHP开发者常犯的10个MySQL错误

最近看到一篇文章:《PHP开发者常犯的10个MySQL错误》,发现文中不少内容陈旧,随着时间推移技术发展变化而变得不适用。为了防止误导新手,特本着与时俱进的精神写出此文,绝非对原文作者的不尊重。 1.使用MyISAM而不是InnoDB 完全错误,反驳理由: 首先原文说MyISAM是默认使用的,而实际上到了MySQL 5.5.x,InnoDB已经成为了默认的表引擎。 另外,简单的使用InnoDB不是解决所有问题的方法,盲目的使用甚至会使应用性能下降10%乃至40%。 最佳方法还是针对具体业务具体处理,例如论坛中版块表,新闻分类表,各种码表等长时间不操作的表 ...

[转]PHP开发者常犯的10个MySQL错误

新闻来源:cnw 数据库是Web大多数应用开发的基础。如果你是用PHP,那么大多数据库用的是MySQL也是LAMP架构的重要部分。PHP看起来很简单,一个初学者也可以几个小时内就能开始写函数了。但是建立一个稳定、可靠的数据库确需要时间和经验。下面就是一些这样的经验,不仅仅是MYSQL,其他数据库也一样可以参考。 1.使用MyISAM而不是InnoDB MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB。 MyISAM 是默认使用的。但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的。MyISAM不支持外键的约束 ...

MySQL中常用日期时间函数

下面的查询选择了所有记录,其date_col的值是在最后30天以内:

mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) – TO_DAYS(date_col)<= 30;

DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
mysql> select DAYOFWEEK(‘1998-02-03’);
-> 3

WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY(‘1997-10-04 22:23:00’);
-> 5
mysql> select WEEKDAY(‘1997-11-05’);
-> 2

DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
mysql> select DAYOFMONTH(‘1998-02-03’);
-> 3

DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
mysql> select DAYOFYEAR(‘1998-02-03’);
-> 34

MONTH(date)
返回date的月份,范围1到12。
mysql> select MONTH(‘1998-02-03’);
-> 2

DAYNAME(date)
返回date的星期名字。
mysql> select DAYNAME(“1998-02-05”);
-> ‘Thursday’

MONTHNAME(date)
返回date的月份名字。
mysql> select MONTHNAME(“1998-02-05”);
-> ‘February’

QUARTER(date)
返回date一年中的季度,范围1到4。
mysql> select QUARTER(’98-04-01′);
-> 2

WEEK(date)
WEEK(date,first)
对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始。

mysql> select WEEK(‘1998-02-20’);
-> 7
mysql> select WEEK(‘1998-02-20’,0);
-> 7
mysql> select WEEK(‘1998-02-20′,1);
-> 8

YEAR(date)
返回date的年份,范围在1000到9999。
mysql> select YEAR(’98-02-03′);
-> 1998

HOUR(time)
返回time的小时,范围是0到23。
mysql> select HOUR(’10:05:03′);
-> 10

MINUTE(time)
返回time的分钟,范围是0到59。
mysql> select MINUTE(’98-02-03 10:05:03′);
-> 5

SECOND(time)
回来time的秒数,范围是0到59。
mysql> select SECOND(’10:05:03’);
-> 3

PERIOD_ADD(P,N)
增加N个月到阶段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数P不是日期值。
mysql> select PERIOD_ADD(9801,2);
-> 199803

PERIOD_DIFF(P1,P2)
返回在时期P1和P2之间月数,P1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期值。
mysql> select PERIOD_DIFF(9802,199703);
-> 11

DATE_ADD(date,INTERVAL expr type)

DATE_SUB(date,INTERVAL expr type)

ADDDATE(date,INTERVAL expr type)

SUBDATE(date,INTERVAL expr type)

linux删除apache、mysql、php的方法

安装面板之前,我们需要做很多工作,为的就是创造一个干净的系统。 首先需要判断,以php为例。 执行rpm -q php,如果返回php版本,刚是rpm安装;不返回php版本则是二进制安装。 对于rpm安装执行rpm -e php –nodeps 即可彻底系统自带的php;对于二进制安装直接目录就可以。 apache、mysql用同样的方法即可删除。 安装方法 只安装一个软件时 -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php php-gd mysql 只卸载一个软件时 yum -y remove httpd 卸载多个相类似的 ...