日志存档:07, 2006

iconv 解决 MySQL 乱码问题

2006-07-27 17:03  |  分类:数据库

从 Windows 下的 MySQL 导出的 sql 文件再导入到 Linux 下的 MySQL ,所有字段的中文内容都变成了乱码。
 
$ file -i sql1.sql
sql1.sql: text/plain; charset=utf-8
 
发现 sql 文件的编码是 utf-8 ,这与 Linux 下 MySQL 数据库默认的 gbk 编码不相符。
 
$ iconv -f utf-8 -t gbk -o sql2.sql sql1.sql
生成编码为 gbk 的 sql 文件再导入就可以了。
 
不过,发现个问题:
$ file -i sql2.sql
sql2.sql: text/plain; charset=unknown
 
看来,file 不支持 gbk 编码。

LVM 实战

2006-07-21 17:47  |  分类:存储备份, 操作系统

备份服务器的硬盘空间不够了,添加硬盘扩容,为了今后再扩容的方便,使用 LVM 。
 
加挂一块硬盘,并用 fdisk 进行如下分区:
# fdisk -l /dev/sdb
Device Boot         Start          End          Blocks     Id     System
/dev/sdb1                 1        2433      19543041    8e  Linux LVM
/dev/sdb2            2434        4866     19543072+   8e  Linux LVM
/dev/sdb3            4867        7299     19543072+   8e  Linux LVM
/dev/sdb4            7300        9729      19518975    8e  Linux LVM
 
习惯性的分成了四个区,其实只分一个区就行。
 
初始化 LVM :
# vgscan

建立 PV :
# pvcreate /dev/sdb1
# pvcreate /dev/sdb2
# pvcreate /dev/sdb3
# pvcreate /dev/sdb4
查看 PV:
# pvdisplay /dev/sdb1
全文阅读 »

mtop 实时监控 MySQL

2006-07-17 11:30  |  分类:数据库

Requires the following perl modules:
 
    Module             Available At
    ------------     --------------------------------------------------------
    Curses              http://cpan.linuxforum.net/authors/id/G/GI/GIRAFFED
    DBI                  Distributed as Bundle::DBI: http://www.cpan.org/authors/id/TIMB
    DBD::mysql        http://www.cpan.org/modules/by-module/DBD
    Getopt::Long     (Distributed with Perl 5)
    Net::Domain      Part of libnet: http://www.cpan.org/authors/id/GBARR

# perl -e 'use Curses'
# perl -e 'use DBI'
# perl -e 'use DBD::mysql'
# perl -e 'use Getopt::Long'
# perl -e 'use Net::Domain'
 
没有输出就是模块已经安装了,有错误就是相应的模块没有安装。
可以在上面给出的地址下载相应模块的最新版本。
全文阅读 »

CentOS 升级到 2.6 的内核后,总是出现:
CPU0: Temperature above threshold
CPU0: Running in modulated clock mode
 
确认没有超频,检查了 CPU 风扇,散热没有问题,CPU 的温度较之使用 2.4 内核的时候也没有升高。
可是,只要编译东西就会说 CPU 温度过高,CPU 占用率稍微高一些也会频繁出现上面的两行警告,让人好生心烦。
 
查询资料后得知是 2.6 内核的相应阀值过低造成了这种状况。
 
vi /etc/syslog.conf
注释掉 *.emerg 这一行
/etc/init.d/syslog restart
 
就不会出现 CPU 温度过高的警告了。

环境:ADSL 动态 IP ,内网用户通过 Linux 网关服务器 NAT 上网。
 
1. 先到 3322.org 免费注册一个动态的二级域名。
 
2. 网关服务器上
# vi /etc/ppp/ip-up
在最后加入:
/usr/local/network/setup.sh
lynx -mime_header -auth=USERNAME:PASSWORD "http://www.3322.org/dyndns/update?system=dyndns&hostname=HOST.3322.org"
 
第一个是执行 iptables 做 NAT 以及 TC 流量控制等脚本的集合。
第二个是在拨号成功时向 3322.org 提交新的 IP 地址。
 
3. 安装 Apache ,configure 的时候加上 --enable-proxy=shared
在虚拟主机配置中加上:
RewriteEngine on
RewriteRule ^/(.*)$ http://192.168.0.254/$1 [P,L]
 
注:如果有注册静态域名,做 CNAME 到 HOST.3322.org 就可以实现 IP 的自动“更新”了。
    可以配置多个虚拟主机为多部内网机器提供发布到外网的 Web 服务。