标签归档: mysql

Linode LNMP服务器环境配置笔记

我选的是1GB的套餐,每个月$20,年付减10%,实付$230.21折合人民币1400多点。

Linode 1GB

Linode 1GB

操作系统: CentOS Linux 6.2 64bit
运行环境: Nginx+PHP+MySQL

准备工作
编译环境部署:
在服务器上启用编译环境是非常危险的做法,为了保证安全我专门用一个虚拟机来做编译工作,编译完成后再将程序部署至服务器即可。

根据VPS操作系统情况下载安装CentOS 6.2 64bit, 因为只是做编译机,所以只要装 Minimal 版就可以了,几百M,下载也很快。
历史版本的ISO文件可以在 http://vault.centos.org 找到。

继续阅读

Read: 2566

怎么打开/查看MySQL的SQL记录?

我们在开发的时候经常经常遇到在程序中增加调试语句很麻烦的情况,这时候难免会想如果Mysql能看到我们执行了什么SQL语句就好了。

实际上MySQL是有这个功能的,在MySQL 5.1的时候我们就可以通过mysqld的-l参数来启动mysql来记录查询日志。

但是现在-l参数自5.1.12之后已经不推荐使用了,改为–general_log

As of MySQL 5.1.12, as an alternative to –log or -l, use –general_log[={0|1}] to specify the initial general query log state. In this case, the default general query log file name is used. With no argument or an argument of 1, –general_log enables the log. With an argument of 0, this option disables the log.

 

–general_log 打开后日志默认会输出到你的data目录下,默认文件名是 hostname.log。hostname是你的机器名,在windows上貌似是localhost或者其他什么奇怪的名字吧。

 

如果服务器已经启动或者不是直接用mysqld启动服务器的怎么办呢?(运行时开关General Log)

执行下面两个SQL就可以开关日志

打开日志

SET GLOBAL general_log = 'ON';

关闭日志

SET GLOBAL general_log = 'OFF';

 

配置文件可以设置General Log的开关吗?

在配置文件中[mysqld]段增加下面一行

general_log = 1

如果需要指定日志文件路径

general_log_file = 文件路径

Read: 6926

无力啊,自己编译的MYSQL有问题

netome.net的VPS搁置了很久了,这两天才想起来好好弄一下。 从vePortal上reload了CentOS6,又在自己机器上装了个CentOS6 Minimal做编译环境,好不容易MYSQL/PHP/NGINX都编译好了,放到服务器上调了一整天,好像没问题。

结果刚把Wordpress装上,上传几张图片之后PHP就报内存不足了,赶紧看top。。。。。

 

我日。。top也打不开,内存不够了。。。无奈最后只能重启。。

 

经过多次检查,最后发现mysql一启动之后内存马上消失,我VPS是512M的内存,mysql一启动之后300+M就没了,可是从PS里看他内存值占用了几十兆,让我很是无法理解。

这个问题折腾了一整天,还去问了 phpx的村长sadly,结果都没找到解决的办法。 到后来我只能猜测用编译问题来说服我自己了(TMD在我虚拟机里一点事都木有啊),为了能尽快上线,只好想装上yum里的mysql将就一下。

 

Read: 1277