WordPress数据库恢复手记

因为流量关系,为网站做了个镜像站点,等待流量快超标的时候做个域名转向来缓解压力。在新的服务器上安装 了Wordpress后,开始进行数据库操作:

1. 备份原来网站的数据库:操作很简单,进入PhpMyAdmin后选择导出,在表单选择框里选择全部。选择”另存为文件”中的”

2. 恢复备份数据库到新的服务器中:进入新服务器的PhpMyAdmin,(因为已经在这里建立了Wordpress,所以已经存在一个新的数据库了),在”结构”中选择所有表单,然后在”选中项”中选择”删除”,原有的数据库清空。然后在”SQL”中点击”浏览”选择刚才备份的数据库文件,点击”执行”即可。

可在这个时候出现了问题:总是说什么超出了Memory,或者说超过了30秒的限制,无法正常导入。导入数据库文件大小限制一般为2M,我的备份文件不过才800多KB,为什么不行呢?后来明白,可能是新的服务器连接速度有些慢,所以在进行导入时,总是超过了时间限制。

解决办法:备份数据库时,分几次备份不同的表单,而不是一次重复全部,就这样重复1,2两个步骤三次,总算把数据库正常导入了。

3. 站内链接调整:因为数据库相同,当然网站里所有站内链接也会和原来的相同,全部指向的还是原来的服务器地址。在PhpMyAdmin里选择数据库中的”wp_options“表单,点击”浏览”然后按”option_name”排列主键顺序,找到”option_name”键值为”siteurl”一项,点击”编辑”按钮,把里面的原来网站链接地址改为新的。然后找到”home”一项,同样编辑把链接改成新的网址。

所有数据库操作完成, 登陆网站查看,一下子傻了,除了我在侧边栏里写的自我简介那几个字是正常汉字,其它全以”?”显示。难道字符设置不对?不可能啊数据库是原来的,当然字符设置也是原来的”utf-8″。上网找答案,原来以前MySQL版本为4.0的转到4.1或者更高版本时,会出现乱码。上服务器的说明中查看,原来老的服务器MySQL版本为4.0,而新的服务器版本为5.0,晕哦,可真先进。继续google,在”桑林志“的”MySQL 4.1x 中文乱码问题“中找到了解决方案。

1. 设置数据库的”collation”为”utf8_general_ci”:因为在新的服务器中建立数据库时,没有指定其为utf-8,更没设定collation,所以需要先设定数据库的字符集。

执行命令:
alter database myblog
character set utf8;

然后再在”操作”或者数据库PhpMyAdmin的登陆页面中设定collation为”utf8_general_ci”。

2. 更改WordPress程序中wp-includes/wp-db.php的文件:我是选择了在56行处,而不是44行处(桑林志的做法)加入了如下语句:

$this->query(”SET NAMES ‘utf8′”);

复制语句时小心字体哦,我复制的代码加入后报错,原来那些>”‘什么的都不正确。

再次登陆网站查看,终于一切正常!!!整个操作时间耗费了大概6个小时,主要是网上查找解答太费时间,而且在设定collation时麻烦不小,因为我原来的服务器竟然关闭了调整Collation的命令。显示为:”使用链接表的额外特性尚未激活。要查出原因,请单击此处。”,还好它默认为字符集为”UTF-8″不然估计我的数据库是无论如何都不能恢复到更高版本的MySQL里了。

  • 2006.01.12 00:45, Thinking in sh18 » 今日计划 said:

    […] http://hhalloyy.de/blog/?p=374 […]

    [Reply]

  • 2006.01.12 04:51, sh18 said:

    按照上文
    “3. 站内链接调整:因为数据库相同,当然网站里所有站内链接也会和原来的相同,全部指向的还是原来的服务器地址。在PhpMyAdmin里选择数据库中的”wp_options“表单,点击”浏览”然后按”option_name”排列主键顺序,找到”option_name”键值为”siteurl”一项,点击”编辑”按钮,把里面的原来网站链接地址改为新的。然后找到”home”一项,同样编辑把链接改成新的网址。”
    更改了数据库,可是还是不行 还是连接原来的地址

    http://www.sh18.org/blog
    http://www.sh18.org/blogbeta
    我更改的是 bloggeta的数据库

    很奇怪啊

    [Reply]

  • 2006.01.12 10:34, hhalloyy said:

    理论上是不可能的啊。

    那你用phpMyAdmin的搜索功能,查找“www.sh18.org/blogbeta”,把找到的结果替换为“www.sh18.org/blog”。

    ps: 应该会找到好多“wp_posts”的,“wp_comments”也可能会有几个,然后就是一些插件的数据表,但这些都是不用改的啊….

    [Reply]

  • 2006.01.12 13:23, sh18 said:

    很想跟你联络下,还没找到你的mail,我的mail是sh18.china(a.t)gmail.com 如果方便的化告诉我下咯

    [Reply]

  • 2006.01.12 15:45, sh18 said:

    测试好了 ,先来真实下,明天有空写篇小结

    我想法是把 sh18.org/blog的数据库 导入到sh18.org/blogbeta 。
    使用2个数据库。
    先不谈乱码的问题,我

    [Reply]

  • 2006.01.13 04:11, Thinking in sh18 » wp数据库转换 said:

    […] http://hhalloyy.de/blog/?p=374 […]

    [Reply]

  • […] 原作:hhalloyy […]

    [Reply]

  • 2006.02.05 06:26, Fenbox said:

    Wordpress数据恢复…

    1.备份原来网站的数据库:操作很简单,进入PhpMyAdmin后选择导出,在表单选择框里选择全部.选择”另存为文件”中的”gzip 压缩”,点击”执行”便会让你保存到本地电脑中了.
    2……

    [Reply]

  • […] http://voivo.de/blog/374.html […]

    [Reply]

  • […] http://voivo.de/blog/374.html […]

    [Reply]

  • […] http://voivo.de/blog/374.html […]

    [Reply]

  • […] 发现的很幸运,不过升级的过程就不那么幸运了。全部的东西上传上去,打开却发现全部的中文都变成了??,还好只是??,这个问题比较常见了,上次搬家,从MySQL4搬到MySQL5的时候也出现这个问题,后来在E-Space上找到了解决方法,如今只要照猫画虎重来一遍改掉wp-db.php这个文件就好了。 […]

    [Reply]

  • […] http://voivo.de/blog/374.html […]

    [Reply]

  • […] http://voivo.de/blog/374.html […]

    [Reply]

  • 2006.07.25 07:50, wpfans.org said:

    […] http://voivo.de/blog/374.html […]

    [Reply]

  • […] http://voivo.de/blog/374.html […]

    [Reply]

  • […] http://voivo.de/blog/374.html […]

    [Reply]

  • […] 其实不是我能解决的,我一文科生,只会依葫芦画瓢。我用google动找西找,找到下面一篇文章,终于解决了我的问题。 WordPress数据库恢复编码转换[解决乱码问题] Posted by kunstao in wordpress教程 No Tags 为了今后wordpress数据库备份方便,把数据库默认的latin 1 转换成了utf8 大致过程如下: 1.备份 http://w&lt;!–page–> ww.sh18.org/blog/ 数据库 2.用 EditPlus 打开 http://www.sh18.org/blog/备份的数据库 文件,查找“DEFAULT CHARSET=latin1” 用“DEFAULT CHARSET=utf8”替换. 3.创建一个新的数据库,用phpadmin进入界面后, (1).点击左边你的数据库名后,右上方会有“Operations/操作”按钮,进入后最下面有“Collation:/整理: ”选项,选择 相应的utf8后按“go/执行”确认【这个步骤是把数据库默认编码设置成utf8】 (2).点击“Home /主目录”按钮 ,返回主界面 更改“MySQL connection collation: /collation (校勘)字符集”为utf8_general_ci 【这个步骤有什么用不知道,反正做了没坏处】 参考文档 http://yanfeng.org/blog/585/ http://voivo.de/blog/374.html http://www.zuola.com/weblog/?p=355 然后导入前面备份的数据库(修改过的,注意导入的时候选utf8) 4.更改WordPress程序中wp-includes/wp-db.php的文件:选择在56行处添加 $this->query(”SET NAMES ‘utf8′ “); 复制语句时小心字体哦,我复制的代码加入后报错,原来那些>”‘什么的都不正确。 更改后的情况是: } $this-<!–page–> >query(”SET NAMES ‘utf8′ “); $this->select($dbname); } 5.更改 wp安装目录下的wp-config.php 文件,把里面数据库相应的参数修改为 新的数据库名字。 6.然后 登陆 http://www.sh18.org/blog 基本正常,发现文章的中文分类名出现“??”字符,进入后台,重新更改分类后一切正常. 7.发新贴看是否一切正常。。。。。 8.待测试。。。。 因为流量关系,为网站做了个镜像站点,等待流量快超标的时候做个域名转向来缓解压力。在新的服务器上安装 了Wordpress后,开始进行数据库操作: 1. 备份原来网站的数据库:操作很简单,进入PhpMyAdmin后选择导出,在表单选择框里选择全部。选择<!–page–> ”另存为文件”中的”gzip 压缩”,点击”执行”便会让你保存到本地电脑中了。 2. 恢复备份数据库到新的服务器中:进入新服务器的PhpMyAdmin,(因为已经在这里建立了Wordpress,所以已经存在一个新的数据库了),在”结构”中选择所有表单,然后在”选中项”中选择”删除”,原有的数据库清空。然后在”SQL”中点击”浏览”选择刚才备份的数据库文件,点击”执行”即可。 可在这个时候出现了问题:总是说什么超出了Memory,或者说超过了30秒的限制,无法正常导入。导入数据库文件大小限制一般为2M,我的备份文件不过才800多KB,为什么不行呢?后来明白,可能是新的服务器连接速度有些慢,所以在进行导入时,总是超过了时间限制。 解决办法:备份数据库时,分几次备份不同的表单,而不是一次重复全部,就这样重复1,2两个步骤三次,总算把数据库正常导入了。 3. 站内链接调整:因为数据库相同,当然网站里所有站内链接也会和原来的相同,全部指向的还是原来的服务器地址。在PhpMyAdmin里选择数据库中的” wp_options“表单,点击”浏览”然后按”option_name”排列主键顺序,找到”option_name”键值为”siteurl”一项,点击”编辑”按钮,把里面的原来网站链接地址改为新的。然后找到”home”一项,同样编辑把链接改成新的网址。 所有数据库操作完成,登陆网站查看,一下子傻了,除了我在侧边栏里写的自我简介那几个字是正常汉字,其它全以”?”显示。难道字符设置不对?不可能啊数据库是原来的,当然字符设置也是原来的”utf-8″。上网找答案,原来以前MySQL版本为4.0的转到4.1或者更高版本时,会出现乱码。上服务器的说明中查看,原来老的服务器MySQL版本为4.0,而新的服务器版本为5.0,晕哦,可真先进。继续google,在”桑林志“的”MySQL 4.1x 中文乱码问题“中找到了解决方案。 1. 设置数据库的”collation”为”utf8_general_ci”:因为在新的服务器中建立数据库时,没有指定其为utf-8,更没设定collation,所以需要先设定数据库的字符集。 执行命令: alter database myblog character set utf8; 然后再在”操作”或者数据库PhpMyAdmin的登陆页面中设定collation为”utf8_general_ci”。 2. 更改WordPress程序中wp-includes/wp-db.php的文件:我是选择了在56行处,而不是44行处(桑林志的做法)加入了如下语句: $this->query(”SET NAMES ‘utf8′”); 复制语句时小心字体哦,我复制的代码加入后报错,原来那些>”‘什么的都不正确。 再次登陆网站查看,终于一切正常!!!整个操作时间耗费了大概6个小时,主要是网上查找解答太费时间,而且在设定collation时麻烦不小,因为我原来的服务器竟然关闭了调整Collation的命令。显示为:”使用链接表的额外特性尚未激活。要查出原因,请单击此处。”,还好它默认为字符集为”UTF-8″不然估计我的数据库是无论如何都不能恢复到更高版本的MySQL里了。 我在修改wp-db文件的时候遇到一个问题,就是添加那行字之后,还是会出错,查了半天,发现还是因为字符问题。 […]

    [Reply]

  • […] http://voivo.de/blog/374.html […]

    [Reply]

  • […] 其实不是我能解决的,我一文科生,只会依葫芦画瓢。我用google动找西找,找到下面一篇文章,终于解决了我的问题。WordPress数据库恢复编码转换[解决乱码问题]Posted by kunstao in wordpress教程No Tags为了今后wordpress数据库备份方便,把数据库默认的latin 1 转换成了utf8大致过程如下:1.备份 http://www.sh18.org/blog/ 数据库2.用 EditPlus 打开 http://www.sh18.org/blog/备份的数据库 文件,查找“DEFAULT CHARSET=latin1” 用“DEFAULT CHARSET=utf8”替换.3.创建一个新的数据库,用phpadmin进入界面后,(1).点击左边你的数据库名后,右上方会有“Operations/操作”按钮,进入后最下面有“Collation:/整理:  ”选项,选择 相应的utf8后按“go/执行”确认【这个步骤是把数据库默认编码设置成utf8】(2).点击“Home  /主目录”按钮 ,返回主界面 更改“MySQL connection collation: /collation (校勘)字符集”为utf8_general_ci 【这个步骤有什么用不知道,反正做了没坏处】参考文档http://yanfeng.org/blog/585/http://voivo.de/blog/374.htmlhttp://www.zuola.com/weblog/?p=355然后导入前面备份的数据库(修改过的,注意导入的时候选utf8)4.更改WordPress程序中wp-includes/wp-db.php的文件:选择在56行处添加$this->query(”SET NAMES ‘utf8′ “);复制语句时小心字体哦,我复制的代码加入后报错,原来那些>”‘什么的都不正确。更改后的情况是:}$this->query(”SET NAMES ‘utf8′ “);$this->select($dbname);}5.更改 wp安装目录下的wp-config.php 文件,把里面数据库相应的参数修改为 新的数据库名字。6.然后 登陆 http://www.sh18.org/blog 基本正常,发现文章的中文分类名出现“??”字符,进入后台,重新更改分类后一切正常.7.发新贴看是否一切正常。。。。。8.待测试。。。。 因为流量关系,为网站做了个镜像站点,等待流量快超标的时候做个域名转向来缓解压力。在新的服务器上安装 了Wordpress后,开始进行数据库操作: 1. 备份原来网站的数据库:操作很简单,进入PhpMyAdmin后选择导出,在表单选择框里选择全部。选择”另存为文件”中的”gzip 压缩”,点击”执行”便会让你保存到本地电脑中了。 2. 恢复备份数据库到新的服务器中:进入新服务器的PhpMyAdmin,(因为已经在这里建立了Wordpress,所以已经存在一个新的数据库了),在”结构”中选择所有表单,然后在”选中项”中选择”删除”,原有的数据库清空。然后在”SQL”中点击”浏览”选择刚才备份的数据库文件,点击”执行”即可。 可在这个时候出现了问题:总是说什么超出了Memory,或者说超过了30秒的限制,无法正常导入。导入数据库文件大小限制一般为2M,我的备份文件不过才800多KB,为什么不行呢?后来明白,可能是新的服务器连接速度有些慢,所以在进行导入时,总是超过了时间限制。 解决办法:备份数据库时,分几次备份不同的表单,而不是一次重复全部,就这样重复1,2两个步骤三次,总算把数据库正常导入了。 3. 站内链接调整:因为数据库相同,当然网站里所有站内链接也会和原来的相同,全部指向的还是原来的服务器地址。在PhpMyAdmin里选择数据库中的”wp_options“表单,点击”浏览”然后按”option_name”排列主键顺序,找到”option_name”键值为”siteurl”一项,点击”编辑”按钮,把里面的原来网站链接地址改为新的。然后找到”home”一项,同样编辑把链接改成新的网址。 所有数据库操作完成,登陆网站查看,一下子傻了,除了我在侧边栏里写的自我简介那几个字是正常汉字,其它全以”?”显示。难道字符设置不对?不可能啊数据库是原来的,当然字符设置也是原来的”utf-8″。上网找答案,原来以前MySQL版本为4.0的转到4.1或者更高版本时,会出现乱码。上服务器的说明中查看,原来老的服务器MySQL版本为4.0,而新的服务器版本为5.0,晕哦,可真先进。继续google,在”桑林志“的”MySQL 4.1x 中文乱码问题“中找到了解决方案。 1. 设置数据库的”collation”为”utf8_general_ci”:因为在新的服务器中建立数据库时,没有指定其为utf-8,更没设定collation,所以需要先设定数据库的字符集。 执行命令:alter database myblogcharacter set utf8; 然后再在”操作”或者数据库PhpMyAdmin的登陆页面中设定collation为”utf8_general_ci”。 2. 更改WordPress程序中wp-includes/wp-db.php的文件:我是选择了在56行处,而不是44行处(桑林志的做法)加入了如下语句: $this->query(”SET NAMES ‘utf8′”); 复制语句时小心字体哦,我复制的代码加入后报错,原来那些>”‘什么的都不正确。 再次登陆网站查看,终于一切正常!!!整个操作时间耗费了大概6个小时,主要是网上查找解答太费时间,而且在设定collation时麻烦不小,因为我原来的服务器竟然关闭了调整Collation的命令。显示为:”使用链接表的额外特性尚未激活。要查出原因,请单击此处。”,还好它默认为字符集为”UTF-8″不然估计我的数据库是无论如何都不能恢复到更高版本的MySQL里了。我是快乐的分割线————————————————————我在修改wp-db文件的时候遇到一个问题,就是添加那行字之后,还是会出错,查了半天,发现还是因为字符问题。大家一定要记住是如下这行$this->query(”SET NAMES […] […]

    [Reply]

  • 2007.01.29 08:33, 晨曦岁月 said:

    开始使用盘古空间…

         昨天晚上用支付宝在金光 vbvs那买了盘古的个人空间,然后重新安装了Wordpress和Bo-blog,由于学校期末晚上12点断网,剩下的数据转移和重新导入,还有域名解吸都只能在今早进行。Bo-blo…

    [Reply]

  • […] 又把备份好的博客重新传了上去,按部就班(唉~~谁叫我这不是第一次了)的恢复好数据库,不过和大多数恢复好数据库之后进去博客看到那一排排的问号时的感觉一样,顿时就傻眼了,看样子是字符问题,因为以前去E-space那看过他写的数据库恢复手记,所以心里还有点底,但是伴随这些个问号的还有一个classes.php on line 88的错误高高在上的摆在顶头上,模板全乱套了,而且在试着恢复数据库无果后,那真是相当的失望,时间已经是晚上了,在无奈的尝试了能想到的所有方法以后,几乎已经是绝望了。也就是说现在的情况就算是想恢复到之前的状态也没可能了。 […]

    [Reply]

  • […]      昨天晚上用支付宝在金光 vbvs那买了盘古的个人空间,然后重新安装了Wordpress和Bo-blog,由于学校期末晚上12点断网,剩下的数据转移和重新导入,还有域名解吸都只能在今早进行。Bo-blog我原先使用的是2.0.3 beta 1,我昨晚安装的是2.0.3 RC3,数据可以互相导入,操作简单,把原来的备份导入就可以了。而Wordpress,我是按照hhalloyy 写的WordPress数据库恢复手记操作的,修正一些: […]

    [Reply]




*You must say some Chinese, or just copy 你好! as begin.


This blog uses the CommentLuv plugin which will try and parse your sites feed and display a link to your last post, please be patient while it tries to find it for you.
2005-12-22
Home Loans