post

WordPress 响应慢,建立数据库连接时出错

之前博客响应特别慢,还经常出现“建立数据库连接时出错”这个错误,英文为“Error establishing a database connection”。

通过 top 命令发现 kswapd0 进程 CPU 占用过高,而 kswapd0 进程是系统的虚拟内存管理程序,如果物理内存不够用,系统就会唤醒 kswapd0 进程,由 kswapd0 分配磁盘 Swap 交换空间作缓存,因而占用大量的 CPU 资源。

如果 Swap 空间用光了,那么系统就会发生错误,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。

也正是因为内存不足,造成了数据库MySql进程被杀,导致 WordPress 出现“建立数据库连接时出错”。

[Read more…]
post

Mysql占用过高CPU时的优化手段

Mysql占用CPU过高的时候,该从哪些方面下手进行优化?

占用CPU过高,可以做如下考虑:

  1. 一般来讲,排除高并发的因素,还是要找到导致你CPU过高的哪几条在执行的SQL,show processlist语句,查找负荷最重的SQL语句,优化该SQL,比如适当建立某字段的索引;
  2. 打开慢查询日志,将那些执行时间过长且占用资源过多的SQL拿来进行explain分析,导致CPU过高,多数是GroupBy、OrderBy排序问题所导致,然后慢慢进行优化改进。比如优化insert语句、优化group by语句、优化order by语句、优化join语句等等;
  3. 考虑定时优化文件及索引;
  4. 定期分析表,使用optimize table;
  5. 优化数据库对象;
  6. 考虑是否是锁问题;
  7. 调整一些MySQL Server参数,比如key_buffer_size、table_cache、innodb_buffer_pool_size、innodb_log_file_size等等;
  8. 如果数据量过大,可以考虑使用MySQL集群或者搭建高可用环境。
  9. 可能由于内存latch(泄露)导致数据库CPU高
  10. 在多用户高并发的情况下,任何系统都会hold不住的,所以,使用缓存是必须的,使用memcached或者redis缓存都可以;
  11. 看看tmp_table_size大小是否偏小,如果允许,适当的增大一点;
  12. 如果max_heap_table_size配置的过小,增大一点;
  13. mysql的sql语句睡眠连接超时时间设置问题(wait_timeout)
  14. 使用show processlist查看mysql连接数,看看是否超过了mysql设置的连接数(http://www.cnblogs.com/kevingrace/p/6226324.html
[Read more…]
post

一张图了解MySql复制参数

一张图了解MySql复制参数:

MySql复制参数

post

MySql二进制日志文件引起VPS空间不足的解决方案

上午到公司,习惯性的浏览了一下博客,顺便升级下其他子博客WordPress版本,我的乖乖,升级时竟然提示我服务器空间不足,于是登录SSH查看了下目录的占用空间,用命令(#du -sm 目录名或者*)一步一步找下去,发现原来是MySql的二进制日志文件过大,默认文件名如mysql-bin.000001(单个文件1G,共13个左右),之前还真不了解这个东西,找了相关的资料才明白干嘛用的,对于我的博客,定期数据备份,日志文件就没有用处,所以果断的决定删除,再关闭二进制日志。
[Read more…]

post

WordPress优化之清理数据库

大头(http://www.touhenda.com/)提供的优化数据库的方法,感谢大头的分享。

本文的方法,主要是用于清理已删除插件的残留键值,还有一些_transient开头的键值,清理前一定要先备份。这些键值都是保存到wp-options表中,下面的方法我也试过了,没有问题,博客竟然提速了零点几秒,很不错。

p.s.另外推荐个插件,WP-Optimize,可以删除所有修订版本、自动草稿、垃圾评论和优化数据表,后台搜索插件即可。
[Read more…]

post

512M内存VPS内存优化

最近廉价的VPS有越来越流行的趋势,但是很多廉价的VPS很多只有512M,甚至更少的内存,而Apache和MySQL这些建站必备的软件,又偏偏都是内存消耗大户,所以如何优化本来就不多的内存空间,就显得额外重要了,具体优化方法及参数如下。
[Read more…]

post

WordPress连接MySql出现错误的解决方法

最近访问自己的博客经常出现Error establishing a database connection ,只要重启MySql就可以,今天通过mysqld_safe 启动MySql可以在数据库挂掉的时候自动重启,但是这个办法仍然无法根本解决,下面详细介绍一些解决方案。
转载自:[Lin’s Space|Only]

原文链接: http://clin003.com/wp-use/error-establishing-a-database-connection-2226/

WordPress出现这种情况的原因可能是:

1、无法连接到Wordpress使用的数据库。
[Read more…]

post

Linux下MySql之性能优化

常用的MySql性能优化,希望对大家有帮助。


#vim /etc/my.cnf

以下只列出my.cnf文件中[mysqld]段落中的内容,其他段落内容对MySQL运行性能影响甚微,因而姑且忽略。
[Read more…]

post

Linux下MySql之常用语句

总结一些MySql的常用语法,数据操作的SQL语句,导出导入数据方法。本人对MySql操作不熟悉,以下为网上搜集的,仅供参考。

1、修改mysql管理员密码为(admin)
#mysqladmin –u password admin 

2、配置mysql环境变量
[root@localhost mysql-5.1.42-2]# cd /usr/local/mysql/bin/
[root@localhost bin]# export PATH=$PATH:/usr/local/mysql/bin/
[root@localhost bin]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib/mysql/
[root@localhost bin]# env 
3、查看数据库
#mysql –u root –padmin 
>show databases;
[Read more…]

post

Linux下MySql之安装配置

博客刚才windows平台迁移到linux,并且数据库也用了我不太会用的MySql,这几天每天都会出现一次MySql挂掉,错误信息为

Error establishing a database connection

我只能重启VPS后,再通过命令进入服务器重启MySql,今天找到了一个简单的优化MySql方法,通过MySqld_Safe启动服务,再观察几天看看效果怎么样。

下面详细介绍下MySql的安装:
[Read more…]