概述:在linux vps主机上配置mysql数据库,由于默认使用yum安装的数据库启动了InnoDB引擎,同时其/etc/my.cnf配置都我们的vps主机不是很适合,本文详细讲解如何配置适合自己vps主机的mysql配置文件
目的:优化vps主机上的mysql数据库,使之更合适vps主机这样的环境
query_cache_size = 268435456
query_cache_type=1
query_cache_limit=1048576查看mysql-server静态参数值命令
mysql>show variables;
或者mysqladmin -uroot variables
mysql服务器的参数很多,如果需要了解某个参数的详细定义,可以使用mysqld –verbose –help | more
查看mysql-server动态状态信息命令
目的:优化vps主机上的mysql数据库,使之更合适vps主机这样的环境
query_cache_size = 268435456
query_cache_type=1
query_cache_limit=1048576查看mysql-server静态参数值命令
mysql>show variables;
或者mysqladmin -uroot variables
mysql服务器的参数很多,如果需要了解某个参数的详细定义,可以使用mysqld –verbose –help | more
查看mysql-server动态状态信息命令
./configure --prefix=/usr/local/mysql \
--without-debug \ #去除debug模式.
--enable-thread-safe-client \ #以线程方式编译客户端.
--with-pthread \ #强制使用pthread线程库编译.
--enable-assembler \ #允许使用汇编模式.
--enable-profiling \ #Build a version with query profiling code (req.community-features)
--with-mysqld-ldflags=-all-static \ #静态编译mysqld的额外link参数.
--with-client-ldflags=-all-static \ #静态编译client的额外link参数.
--with-charset=utf8 \ #默认字符utf8.
--with-extra-charsets=all \ #支持所有的语言字符.
--with-innodb \ #innodb数据引擎.
--with-plugins=innobase \
--with-plugins=heap \ #内存数据引擎.
--with-mysqld-user=mysql \ #mysql安装使用的帐号
--without-embedded-server \ #去除安装embedded-server.
--with-server-suffix=-community \ #社区形式安装.
--with-unix-socket-path=/tmp/mysql.sock
--without-debug \ #去除debug模式.
--enable-thread-safe-client \ #以线程方式编译客户端.
--with-pthread \ #强制使用pthread线程库编译.
--enable-assembler \ #允许使用汇编模式.
--enable-profiling \ #Build a version with query profiling code (req.community-features)
--with-mysqld-ldflags=-all-static \ #静态编译mysqld的额外link参数.
--with-client-ldflags=-all-static \ #静态编译client的额外link参数.
--with-charset=utf8 \ #默认字符utf8.
--with-extra-charsets=all \ #支持所有的语言字符.
--with-innodb \ #innodb数据引擎.
--with-plugins=innobase \
--with-plugins=heap \ #内存数据引擎.
--with-mysqld-user=mysql \ #mysql安装使用的帐号
--without-embedded-server \ #去除安装embedded-server.
--with-server-suffix=-community \ #社区形式安装.
--with-unix-socket-path=/tmp/mysql.sock
当WEB服务器负载高的时候,经常会出现这种错误,
原因:
MySQL默认connect_timeout是5秒,超过了这个时间MySQL的server端就会返回“Bad handshake”。
解决办法:
原因:
MySQL默认connect_timeout是5秒,超过了这个时间MySQL的server端就会返回“Bad handshake”。
解决办法:
服务器被挂马或被黑的朋友应该知道,黑客入侵web服务器的第一目标是往服务器上上传一个webshell,有了webshell黑客就可以干更多的事情,网站被挂马后很多人会束手无策,无从查起,其实并不复杂,这里我将以php环境为例讲几个小技巧,希望对大家有帮助。
先讲一下思路,如果服务器上被上传了webshell那么我们肯定能够查到蛛丝马迹,比如php文件的时间,如果我们可以查找最后一次网站代码更新以后的所有php文件,方法如下:
假设最后更新是10天前我们可以查找10天内生成的可以php文件:
先讲一下思路,如果服务器上被上传了webshell那么我们肯定能够查到蛛丝马迹,比如php文件的时间,如果我们可以查找最后一次网站代码更新以后的所有php文件,方法如下:
假设最后更新是10天前我们可以查找10天内生成的可以php文件:
mysql中一个表的一个时间列是int类型,现在想修改这个字段的值,打算可读日期时间格式转成int,然后修改那个值。
这个转换函数就是UNIX_TIMESTAMP,将可读的时间转换成int类型,具体用法:
update xxx_table set xxx_time=UNIX_TIMESTAMP('2006-11-13 13:24:22') where ......
同时介绍一个另一个转换函数:FROM_UNIXTIME,将将时间戳转成常用时间格式
这个转换函数就是UNIX_TIMESTAMP,将可读的时间转换成int类型,具体用法:
update xxx_table set xxx_time=UNIX_TIMESTAMP('2006-11-13 13:24:22') where ......
同时介绍一个另一个转换函数:FROM_UNIXTIME,将将时间戳转成常用时间格式
首先.php 编程不会curl就是坑爹呢/所以, 这个必须会.
通过几个简单的例子说明问题,以后有需求,再研究.
1.获取页面源码.
<?php
$url = "http://www.baidu.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
?>
如果不设置CURLOPT_RETURNTRANSFER的话,html会自动返回输出,通过这一选项,可以把输出保存到变量中去.
通过几个简单的例子说明问题,以后有需求,再研究.
1.获取页面源码.
<?php
$url = "http://www.baidu.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
?>
如果不设置CURLOPT_RETURNTRANSFER的话,html会自动返回输出,通过这一选项,可以把输出保存到变量中去.
本文仅对iptables的使用做一些总结,如果您对原理感兴趣,请参阅其它文档,谢谢!
1. 匹配方式
内建匹配方式:
1.1 匹配网络接口 -i/-o,如 -i eth0 -o eth1
1.2 匹配协议 -p,如 -p tcp、-p udp、-p icmp、-p all
1.3 匹配地址 -s/-d,如 -s 192.168.1.188 -d 202.96.134.133、-s 192.168.1.0/24、-d www.google.cn (名称实际上会域名解析出地址)
1.4 匹配端口 --sport/--dport,如 --sport 1024、--dport 21:25(最多匹配两个)
1. 匹配方式
内建匹配方式:
1.1 匹配网络接口 -i/-o,如 -i eth0 -o eth1
1.2 匹配协议 -p,如 -p tcp、-p udp、-p icmp、-p all
1.3 匹配地址 -s/-d,如 -s 192.168.1.188 -d 202.96.134.133、-s 192.168.1.0/24、-d www.google.cn (名称实际上会域名解析出地址)
1.4 匹配端口 --sport/--dport,如 --sport 1024、--dport 21:25(最多匹配两个)
我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了。下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点是,在server的设置里面添加这一行:
listen 80 default;
后面的default参数表示这个是默认虚拟主机。
listen 80 default;
后面的default参数表示这个是默认虚拟主机。
整理一些常用分析网站的小命令方便大家排障,内容均来源于网络。
系统连接状态篇:
1.查看TCP连接状态
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' 或
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
2.查找请求数请20个IP(常用于查找攻来源):
系统连接状态篇:
1.查看TCP连接状态
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' 或
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
2.查找请求数请20个IP(常用于查找攻来源):