主题: iRedMail 如何恢复

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):
- 使用的 Linux/BSD 发行版名称及版本号:
- 与您的问题相关的日志信息:
====
iRedMail 0.8.7
mysql
centos 6.5
操作系统损坏,重新安装系统,用户邮件和数据库都有备份,请问如何恢复。

回复: iRedMail 如何恢复

如何恢复用户账号

由于 iRedMail-0.8.7 和 iRedMail-0.9.4 的数据库表结构有不少区别,所以没法直接在新服务器(iRedMail-0.9.4)上导入 iRedMail-0.8.7 的数据库。而应该采取这样的步骤:

1) 在新服务器上新建一个数据库,例如 old_vmail。将旧数据库导入 old_vmail 数据库。
2) 比较 old_vmail 和 vmail 两个数据库的各个 sql 表,看看有哪些新增加的字段、删除了的字段。
3) 将 old_vmail 里各个表里,有需要导入到 vmail 数据库的字段逐一导入 vmail 数据库里。例如:

sql> USE vmail;
sql> insert into domain (domain, description, disclaimer, aliases, mailboxes, maxquota, quota, transport, backupmx, created, modified, expired, active, settings) select domain, description, disclaimer, aliases, mailboxes, maxquota, quota, transport, backupmx, created, modified, expired, active, settings from old_vmail.domain;

由于邮箱的路径是保存在 vmail.mailbox 表里的,所以实际复制旧服务器上的邮箱时,只要复制到新服务器上和 sql 表里保存的路径一致就可以。