升级WordPress导致的Error establishing a database connection

欧洲搞个GDPR,整的全世界都遭殃,我的wordpress中安裝了默认的 Akismet 垃圾评论过滤插件,登陆后台后,系統有个提示:

Akismet & Privacy.

To help your site be compliant with GDPR and other laws requiring notification of tracking, Akismet can display a notice to your users under your comment forms. This feature is disabled by default, however, if you or your audience is located in Europe, you need to turn it on.

Please enable or disable this feature. More information.

我这人心粗手快,看也没看,直接习惯性的点个 enable,这下好了,wordpress直接挂了,系統直接提示:Briefly unavailable for scheduled maintenance. Check back in a minute

懵逼了,百度之,找了很多雷同答案,都提示直接删掉站点根目录下的 .maintenance 文件(文件属性为隐藏),删掉之后,系統提示:Error establishing a database connection,第二次懵逼,再也搞不懂为啥了!然后心存侥幸的打开 /wp-admin/install.php,打算重裝下wordpress,谁知道系統提示,数据库名称无法找到,明白了,这绝对是之前的 GDPR 选项选错了,然后打开wp-config.php,果然,数据库名字 define(‘DB_NAME’, ‘xxx’); 这一行消失了,手动加上之后,刷新,好了!!

总结下就是大意,总认为GDPR跟自己无关,也不是欧洲人,也不归GDPR管,看啥都是直接 enable,结果真就出错了,wordpress恢复了以后,重新进后台,仔细看了一遍 akismet 的提示,人家也说的很清楚:默认 disable,如果你处欧洲,应该打开它,也就是enable,所以,乖乖选了 disable!通过这次事故,猜测是 wordpress 为了摘清自己,对于勇于选择 enable 的用戶,删除 wordpress 数据库连接文件中的关键项目,直接给你关站,免得祸害!哈哈

无语,搞笑,无奈啊!!

更换主机后discuz/ucenter无法连接的处理方法

discuz,特别是开通了ucenter的discuz,在更换主机后,很容易出现数据库连接错误、ucenter通信失败的问题,这里需要修改三处关于数据库用户名、密码、数据库名的地方:

1、/config 下的config_global.php,将其中的

$_config[‘db’][‘1’][‘dbuser’] = ‘xxx’;
$_config[‘db’][‘1’][‘dbpw’] = ‘xxx’;
$_config[‘db’][‘1’][‘dbname’] = ‘xxx’;

修改为新的数据库帐号即可。

2、/config 下的config_ucenter.php,将其中的

define(‘UC_DBUSER’, ‘xxx’);
define(‘UC_DBPW’, ‘xxx’);
define(‘UC_DBNAME’, ‘xxx’);

修改成相应的新帐号即可。

3、/uc_server/data 下的config.inc.php,将其中的

define(‘UC_DBUSER’, ‘xxx’);
define(‘UC_DBPW’, ‘xxx’);
define(‘UC_DBNAME’, ‘xxx’);

修改成相应的新帐号即可。

以后凡是涉及到换主机、换数据库的,只要一次修改上述三个文件的内容即可。

DropMySite – 自动备份站点文件、数据库、邮件

DropMySite与之前介绍的CodeGuard的最大区别就是:能直接连接mysql数据库和imap邮箱进行备份,并且能自动完成。DropMySite的自动备份计划分为daily、weekly和monthly三种。对于一般性质的站点备份来说,三种自动计划已经足够。

dropmysite 控制面板

如上图,dropmysite的后台管理面板非常简洁,主要功能即我用红字标注的三项:Websites、Databases、Emails,分别完成对站点文件、数据库、邮件的备份工作。下面再分别来看看这三项是如何设置的: Continue reading

Xeround推出免费版云数据库

云数据库(Cloud Database)对于我等普通网民来说,就等同于一个在线数据库而已,无非是该数据库性能弹性比较大,收费比较高而已。去年我介绍过Xeround,那时候Xeround还在搞“公测”,数据库都有30天的试用期。

xeround 免费云数据库

但现在Xeround推出了永久免费的云数据库,只不过容量有点小:10MB;另外,同时连接数被控制在5以内;带宽控制在1MB/S;除此之外,各种技术支持基本和收费版相同。

Xeround现有三个数据中心,分别是rackspace的芝加哥节点、amazon ec2的佛吉尼亚和爱尔兰节点。对国内用户来说,哪个节点都不近,况且免费版云数据库只支持在佛吉尼亚节点进行安装,我河北联通ping过去都是400ms+的速度。所以综合起来,将它作为一个小型app存储级别的数据点还可以,若用作web数据库,只要你不在乎2~4秒的延迟就行。 Continue reading

失败的“评论导回”–评论啦更新

话说对于使用第三方“社会化评论系统”的童鞋来说,最重要的莫过于评论数据的安全性,虽然现在都能导出某种特定格式,但毕竟需要导出、再导入等多个步骤,麻烦不说,还不一定能一次性成功,所以,既然可以从用户的Wordpress数据库中直接导入,为何不能从第三方直接导出到用户的WP呢?!这恐怕不是技术难题…

上次介绍“多说”带有这个功能,刚没几天,“评论啦”也进行了相关更新,也具有了此种功能,所以,偶来试试效果:

评论啦 评论返回数据库 Continue reading

添加skip-innodb后MySQL启动失败

在小内存的VPS上,童鞋们(包括我)一般都爱做下所谓的“优化”,其中针对MySQL的优化中,有这样三个参数:

skip-innodb / skip-bdb / skip-locking

特别是第一个参数,据说打开后很省内存,所以我在安装完MySQL之后就在my.cnf中填上了这三个参数,但很不幸,在随后的service mysqld restart中,数据库启动失败。这还得了?!于是乎着急毛慌地请教Google去了,不过可悲的是在国内互联网“天下文章一大抄”的现状下,找个准确的、经过个人实践的答案相当不容易,我的问题最终也没解决。

后来想到去看看我的MySQL版本,一看是5.1.54,而且同时在my.cnf中发现一个skip-external-locking参数,在请教过Google后得知:skip-external-locking就是新版本的skip-locking,skip-locking是早几辈子的事了,而且在新版本的MySQL中,已经废除了skip-bdb这个参数!到这基本上问题就解开了,既然skip-locking都改了,那skip-innodb没准儿也改了!最终在MySQLd的文档中找到了这样一句话: Continue reading

Xeround-免费云数据库试用

前几天介绍过几个免费的云数据库(点击),其中特别留意了下Xeround,因为这个“云”第一个支持的数据库就是MySQL。由于这家公司是刚开张,前期注册的免费用户基本都是“六一卖萌节”这天统一收到的开通通知。我在收到通知后,登录简单试用了一番:

Continue reading

云数据库 (Cloud Database)

这几年“云”流行,一切都开始“云”,你不在自己的产品上加个“云”,你都不好意思拿出手!不过这些个让人“晕”的“云”里,有真也有假,“真”乃有真本事;“假”就是爱面子,或者干脆就是蒙人!

真云假云不是咱能讨论的,因为爱折腾的关系,自己总写着有一个“云”数据库(Cloud Database),别说支持啥类型的数据库,有就行!在网上一阵狂搜,最后找了几家还算“靠谱”的并且提供免费“云数据库”的网络公司,有兴趣的可以跟我一样去折腾折腾!

1. Xeround:只支持MySQL数据库,它的结构分为“Access Nodes”和“Data Nodes”,AN负责响应数据请求,DN负责记录数据;据它的站点介绍,Xeround是跑在Rackspace Cloud上的,拥有N个AN、DN节点,所以在一定程度上也拥有“冗余”的功效,即使坏了N个节点,也不会对它的服务产生多大的影响。说到这,你心动没?想用了没?嘿嘿,很可惜,它现在处于Beta阶段,在6月1日以前只接受“报名”,儿童节那天才公布“免费享用”名单,你想用且有耐心的话,就去报名(点击报名),想用但没耐心,那就直接电话联系! Continue reading