Andy's Blog » wordpress ר, wordpress Andy, PDO(SQLite) For WordPress, wordpress sqlite安装, typecho sqlite, 一些数据表不可用 wp_commentmeta: sqlite wordpress, wordpress 使用sqlite, 如何让wordpress支持sqlite, blog sqlite, wordpress sqlite, WordPress使用SQLite全新安装, Wordpress mysql to sqlite, wordpress和sqlite结合, wordpress和sqlite, wordpress sqlite 安装 » WordPress 使用 SQLite 3正确安装方法

WordPress 使用 SQLite 3正确安装方法

有些小内存的VPS,不想装MySQL,于是就想让WordPress 使用 SQLite3

PDO (SQLite) For WordPress 这个插件很早就有了,可一直是个鸡肋,以前错误一堆堆的

今天我又尝试了一下,用最新版的WordPress 3.3 来使用 SQLite3 数据库

我在本机装的VMware虚拟机CentOS中完成,这里我用的一点小技巧分享给大家

原文出处:http://www.21andy.com/new/20120522/2028.html

1. 向 hosts 添加 192.168.134.133 21andy.com
2. 在虚拟机 nginx 中添加 21andy.com 配置

这样都搞好以后,打包到服务器解压就行了

回到本文主题,WordPress 使用 SQLite 3正确安装方法

WordPress 使用 SQLite 3正确安装方法

正确安装方法如下:
1. 先正常用 MySQL 安装 WordPress
2. 用 mysqldump 导出数据库

mysqldump -hlocalhost -uroot -p --compatible=ansi --skip-opt --default-character-set=utf8 wordpress > wordpress.sql

3. 转换 MySQL 成 SQLite3

mysql_to_sqlite.sh
#!/bin/bash
if [ "x$1" == "x" ]; then
  echo "Usage: $0 <dumpname>"
  exit
fi

cat $1 |
grep -v ' KEY "' |
grep -v ' UNIQUE KEY "' |
grep -v ' PRIMARY KEY ' |
sed '/^SET/d' |
sed 's/ unsigned / /g' |
sed 's/ auto_increment/ primary key autoincrement/g' |
sed 's/ smallint([0-9]*) / integer /g' |
sed 's/ tinyint([0-9]*) / integer /g' |
sed 's/ int([0-9]*) / integer /g' |
sed 's/ character set [^ ]* / /g' |
sed 's/ enum([^)]*) / varchar(255) /g' |
sed 's/ on update [^,]*//g' |
sed 's/\\r\\n/\\n/g' |
sed 's/\\"/"/g' |
sed 's/ "id" bigint(20) NOT NULL/ "id" integer primary key autoincrement/g' |
perl -e 'local $/;$_=<>;s/,\n\)/\n\)/gs;print "begin;\n";print;print "commit;\n"' |
perl -pe '
if (/^(INSERT.+?)\(/) {
  $a=$1;
  s/\\'\''/'\'\''/g;
  s/\\n/\n/g;
  s/\),\(/\);\n$a\(/g;
}
' > $1.sql
cat $1.sql | sqlite3 $1.sqlite > $1.err
ERRORS=`cat $1.err | wc -l`
if [ $ERRORS == 0 ]; then
  echo "Conversion completed ! Output file: $1.sqlite"
  rm $1.sql
  rm $1.err
else
  echo "There were errors during conversion.  Please review $1.err and $1.sql for details."
fi

然后

chmod +x mysql_to_sqlihte.sh
./mysql_to_sqlite.sh wordpress.sql

这样会生成一个 wordpress.sql.sqlite 的文件了,就是 SQLite3 数据库

4. 安装 PDO (SQLite) For WordPress 插件

wget http://downloads.wordpress.org/plugin/pdo-for-wordpress.2.7.0.zip
unzip pdo-for-wordpress.2.7.0.zip
mv pdo-for-wordpress/* wordpress/wp-content/
cd wordpress/wp-content/
mkdir database

然后把刚才生成的 wordpress.sql.sqlite 放到 database 目录下
改名为 wordpress.sqlite

5. 编辑配置文件
打开 wp-config.php 添加

define('DB_TYPE', 'sqlite');

其他的 DB_NAME, DB_PASSWORD 等可以设置成空了

打开 wp-content/db.php 查找

define ('FQDB', FQDBDIR .'MyBlog.sqlite');

修改成

define ('FQDB', FQDBDIR .'wordpress.sqlite');

好了,大功告成。

WordPress 使用 SQLite 3正确安装方法

最后,这个插件还不是很完美,有错误的话,会记录在 wp-content/database/debug.txt
有些插件用到 mysql 的话,如果使用有问题,看下插件代码是不是用了 mysql 函数,自己改
但基本可以正常使用了

Incoming search terms:

Tags: wordpress, PDO, SQLite

本文地址: http://blog.21andy.com/20120522/2028.html

2 评论 to “PHP开源CMS之MODx”

  1. www.84ns.com 于 2012-07-06 16:29:45 发表:

    只怕是安装了之后就再不好换空间了。

  2. 最近电影 于 2012-08-30 08:56:31 发表:

    mysql_to_sqlite.sh收下了
    sqlite环境 如果没有特殊要求 还是直接用typecho方便一点