MySQL数据库MyISAM转换InnoDB方法

最近疯狂的在转换几个数据库,各种问题都碰到了,都一一做些记录,方便查询。

MyISAM与InnoDB是mysql目前比较常用的两个数据库存储引擎,MyISAM与InnoDB的主要的不同点在于性能和事务控制上。这里简单的介绍一下两者间的区别和转换方法:

继续阅读MySQL数据库MyISAM转换InnoDB方法

易读小说新手入门问题整理-闲话

一直有个小说网站的梦,记得很早很早之前还有个很好的看小说的域名,那个时候对杰奇的复杂的后台是在感冒不起来,关关也还未兴起。想想更新就头痛,就这么一直搁置至今,也未能做一个像样点的小说网站。
去年无意间再次接触了易读www.51yd.org,发现刚刚出来的时候安装好像简单的很多。也许是这几年自己也折腾了一段时间的linux,所以忍不住又想开始做个小说网站,忍不住就开始申请域名,用备用的服务器开始根据论坛里的教程开始安装,从论坛里的一步步的安装教程到一键包,从linux到windows都试了多次,期间也遇到了无所次问题。
在群里问所有人、问疯狂电脑、问百度、问google。从最简单的pq未启动导致网站错误、到伪静态各种问题、手机模板问题、笔趣阁首页模板问题、首页区块更新、自动化模块推送、网站转移、数据库备份、数据库转移到一库多站、一台服务器多易读站点。再到最后用疯狂电脑的采集器代理版本搞定IP被封问题、根据centos6的一键包折腾多次后弄出来centos7的一键包。这中间花了太多太多的时间去折腾各种问题,中间也看到很多很多人在群里问类似的问题。疯狂电脑的耐心真是佩服,事无巨细的一一回答,在这里真要感谢疯狂电脑提供了这么好的程序和学习的环境。所以也把自己之前遇到的各种问题重新写下来,希望对想用易读的人有个帮助。因为有些问题过去的时间比较长,而且比较难以重新,所以有时候就只能先凭记忆整理,如果看到大家有类似的问题再补充上。
打算按下列的一些循序进行整理,如果时间允许,尽量加快速度(列表根据实际情况随时更新,所有问题暂仅限于linux)。
1、闲话
2、服务器的选择
3、易读的安装
4、后台、伪静态及手机版设置
5、采集器的设置
6、网站转移、数据库备份和恢复。
7、推送模块的设置
8、其他各类问题
高级应用
9、易读风格的更换
10、易读规则理解
11、一库多站的设置
12、一台服务器多个易读站点的设置
13、宝塔(bt.cn)和易读兼容一键包

linux系统修改CST时区

=================================================
[root@DC08R17DS19 ~]# date -R
Mon Feb 8 2016 08:35:37 +0800
[root@DC08R17DS19 ~]# cat /etc/sysconfig/clock
# The time zone of the system is defined by the contents of /etc/localtime.
# This file is only for evaluation by system-config-date, do not rely on its
# contents elsewhere.
ZONE=”Asia/Shanghai”
[root@DC08R17DS19 ~]#
=================================================
修改日期:
时间设定成2016年5月10日的命令如下:
#date -s 05/10/2016
修改时间:
将系统时间设定成上午10点18分0秒的命令如下。
#date -s 10:18:00
=================================================
linux系统修改CST时区:
=================================================
初始时间:2012年 09月 14日 星期五 18:15:33 EDT
[root@test ~]# mv /etc/localtime /etc/localtime.bak
[root@test ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@test ~]# date
修改后的时间:
2012年 09月 15日 星期六 18:25:00 CST
=================================================
修改命令:tzselect
保存:hwclock -w
=================================================
系统时间变化原因分析

Linux的时间有两种,一是系统时间,另外是硬件时间(BIOS时间)。

系统每次启动时会读出BIOS时间,将之赋给系统时间。之后系统时间将独立运行,而BIOS时间不会变化。

在BIOS时间中,有两种表示形式。一种是以localtime表示的,一种是以UTC表示的。具体查看的方式可以通过hwclock –debug,该命令可以输出当前硬件时间的表示形式。

下面例举各种情况下系统时间的变化:

1.当hwclock设定为localtime,/etc/sysconf/clock 中的 UTC=true时,重启后系统时间后相对于BIOS时间被提前8个小时。

2.当hwclock设定为localtime,/etc/sysconf/clock中的 UTC=false时,重启后系统时间相对于BIOS时间没有变化

3.当hwclock设定为UTC,/etc/sysconf/clock 中的 UTC=true时,重启后系统时间后相对于BIOS时间无变化

4.当hwclock设定为UTC,/etc/sysconf/clock 中的 UTC=false时,重启后系统时间后相对于BIOS时间被推后8个小时。

如下图所示:

/etc/sysconf/clock中UTC=true

/etc/sysconf/clock中UTC=false

硬件时间 localtime

重启后系统时间后相对于BIOS时间被提前8个小时

系统时间无变化

硬件时间 UTC

系统时间无变化

重启后系统时间后相对于BIOS时间被推后8个小时

可见,当BIOS时间设置的类型和 /etc/sysconf/clock中的设置不一致时,就会导致系统启动时的系统时间错误。

如果有脚本实现时间同步,但是系统启动之后运行的。虽然时间同步可以将系统时间同步到正确时间,但是由于之前的系统时间错误设定,将会出现一个错误的时间间隔,这个时间间隔可能会对依赖系统时间的程序产生影响。

对策:出现这种问题的根本原因是硬件时间的类型和 /etc/sysconf/clock中的设置不一致。所以我们将在时间同步脚本中增加对硬件时间的同步,这样可以解决这种问题。

注:

UTC时间:世界协调时间(Universal Time Coordinated,UTC) ,也就是0时区的时间

CST时间:CST China Standard Time UTC+8:00 中国沿海时间(北京时间),这是我们所属时区的localtime。

2.关于时区的设置:

为保证时间的正确,应该把时区设置正确。设置正确仅是为了使得时间更好理解和其他方面的维护。

设置方法:

1. 手动设置时区:

例如:设置东八区的时间

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

编辑/etc/sysconfig/clock中 ZONE=”Asia/Shanghai”

2. 使用图形化命令设置

system-config-date (大部分情况仅限于RedHat和CentOS)或者使用 tzselect,按照命令提示进行即可。
====================================================================

使用XenCenter开设单IP多个虚拟机上网

今天终于在一台服务器上让主机商装上了XenServer,自己装上XenCenter想开几个小鸡玩玩,结果各种问题,简要记录,以便查询!

像连接服务器,汉化、包括用模板建小鸡、或者去下载小鸡模板都省略,重点是记录下自己怎么让单IP可以多个小鸡上网,网上又很多资料,按那些输入后各种错误。

折腾许久,所以还是记录一下。

首先增加一个虚拟网卡
选中服务器-点击“网络连接”→“Add Network(添加网络)” → “External Network(外部网络)”→输入网卡的名称 →选择NIC0(注意这里要选能连接外网的网卡),建议将“自动将此网络添加到新虚拟机”,我将新添加的网络命名为“newRoute”.添加保存既可以

其次增加IP
在网络连接下方的 IP配置中,点击“Config(配置)”→ 点“添加ip地址(D)”,选择之前添加的网络“newRoute”,设置与虚拟机同网段内网IP地址,也就是之后虚拟机要设置的网关地址。我这里小鸡准备用192.168.10.0/24这个网段,所以我设置的IP为192.168.10.1,子网掩码为255.255.255.0,网关为空

然后进控制台或者ssh登陆root账号和密码,查看IP是否正常(ifconfig -a)

第四,在设置正常后,开始配置NAT规则。
首先清除防火墙的默认策略
#iptables -F
开启转发支持,默认是关闭的,也可以事先查看一下。
#more /proc/sys/net/ipv4/ip_forward 如果直接编辑,很多时候保存不了。请直接使用echo
#echo 1 > /proc/sys/net/ipv4/ip_forward
然后配置iptables,让事先想好的小鸡网段192.168.10.0网段的虚拟机可以上网。
#iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o xenbr0 -j MASQUERADE 如果复制的不行,请手动打一边,我就是复制进去后无效,手动输入后就好了。
然后保存防火墙配置,避免重启主机后规则失效
#/etc/init.d/iptables save

然后编辑 /etc/sysctl.conf文件将net.ipv4.ip_forward 项设置为 1,开启转发支持,不受重启影响
#vi /etc/sysctl.conf
然后再给小鸡手动分配IP就可以上网啦。如果想小鸡可以远程桌面、SSH这些,再加一些远程端口转发,让外网直接用主机公网IP连接到虚拟机。
#iptables -t nat -A PREROUTING -p tcp –dport 3390 -j DNAT –to-destination 192.168.10.100:3389
这个命令的dport和to前面的两个-在复制的时候很容易就变成一个长的—,到时候会iptables的错误
“-bash: iptables -t -nat -A PREROUTING -p tcp -dport 3390 -j DNAT –to-destination 192.168.10.100:3389: command not found”。如果再修改了,请保存重启查看。
#/etc/init.d/iptables save
#service iptables restart
#iptables -t nat -L

debian下cron的使用方法和常见问题

今天在给服务器配置自动备份脚本,对于配置使用Cron,发现设置后,好像没有自动运行,查阅了很多资料,发现问题是在时区上。整理了一下, 一般cron都不用安装,系统都有事有的。
一、常用的cron命令:
启动/etc/init.d/crond start
关闭/etc/init.d/crond stop
重启/etc/init.d/crond restart

有的系统可能init.d目录下没有crond,只有cron,其实也一样,只不过把crond换为cron:
启动/etc/init.d/cron start
关闭/etc/init.d/cron stop
重启/etc/init.d/cron restart
判断crond 是否在运行:pgrep crond或者pgrep cron,如果有在运行则返回进程号。
杀掉crond进程:pkill crond或者pkill cron,此法可用在关闭或重启不了cron的时候。
配置cron定时任务:crontab -e,配置文件路径一般为/var/spool/cron/crontabs/root
这个是root用户的配置文件,其它用户是对应的用户名命名的文件,所以配置定时任务也可以vi /var/spool/cron/crontabs/root
后面会讲如何添加定时任务。
配置指定用户的配置文件
crontab -u<用户名称>
查看配置文件:crontab –l
二、下面讲如何配置定时任务
基本格式 :
* * * * * command
几个星号分别为:分 时 日 月 周,最后是要执行的命令。
分:0~59
时:0~23
日:1~31
月:1~12
周:0~6(0表示星期天)
配置文件的一些例子:
0 3 * * * /root/test.sh 每天凌晨3点执行test.sh文件
* 23-7/1 * * * /root/lnmp restart 晚上11点到早上7点之间,每隔一小时重启lnmp套件
*/30 * * * * /usr/sbin/ntpdate 每半小时同步一下时间
0 23 * * 6 /lnmp restart 每星期六的11 : 00 pm重启重启lnmp套件。
* */1 * * * /usr/bin/mutt -s “hello” test@seeke.net

Linux怎么查找大文件或目录

   最近服务器遇到了各种问题,不断发现问题,不断解决问题,在这里记录一下。在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件夹的方法。

 

1: 如何查找大文件?

其实很多时候,你需要了解当前系统下有哪些大文件,比如文件大小超过100M或1G(阀值视具体情况而定)。那么如何把这些大文件搜索出来呢?例如我要搜索当前目录下,超过800M大小的文件

find . -type f -size +100M

如上命令所示,我们仅仅能看到超过100M大小的文件的文件名称,但是对文件的信息(例如,文件大小、文件属性)一无所知,那么能否更详细显示一些文件属性或信息呢,当然可以,如下所示 继续阅读Linux怎么查找大文件或目录

Linux 服务器被 DDoS / CC 时应急的封 IP 方法

最近无聊的人太多了,一个腾讯云,没有挂几个小页面,居然一直有人再CC,再带宽全部占满,导致页面根本无法打开,查询了一番,因为攻击比较小,决定使用 iptables 来手动封禁这些攻击者的IP。

如果攻击比较大时,有时我们根本无法响应过来,iptables 基本也就无能为力了,那我们就只能与机房联系让他们想想办法了。

对于少量攻击处理的步骤应该是:获取IP –> 封IP

获取攻击者 IP

通过 netstat 获取

如果攻击者攻击的是你的 Web 服务的话,默认是80端口,我们就可以使用下面的代码!
继续阅读Linux 服务器被 DDoS / CC 时应急的封 IP 方法