我想把旧服务器的VtigerCRM_6.5换到新服务器上运行,并升级到vtigercrm_7.0.1,我该如何升级和数据迁移?

0 投票
10 浏览
最新提问 12月 1 分类:CRM | 用户: 匿名
我的旧服务器马上到期了,又购买了一台新服务器,我想把旧服务器上的VtigerCRM数据迁移到新服务器上,并将旧版本的VtigerCRM升级到最新版本,我应该如何做?

1个回答

0 投票
最新回答 12月 1 用户: 匿名
方案一 :基于旧版本迁移 + 升级 ( 此方案应用成功 )
1. 备份旧版本的数据库;
备份方式:
1. phpMyAdmin 导出为 sql 语句形式,即导出为 .sql 文件;
2. mysqldump 命令备份 :
备份: mysqldump -uroot -pPassword vtigercrm > vtigercrm.sql
2. 并将旧版本 vtigercrm 安装包打包,用 WinSCP 下载到本地;
打包: zip -r xxx.zip ./* // 将当前目录的内容压缩为 xxx.zip 文件。
3. 创建一个 vtigercrm 的空数据库,将第一步中备份的数据库文件导入到 vtigercrm 数据库中;
创建: mysql -uroot -pPassword -e "create database vtigercrm;"
恢复: mysql vtigercrm < [dump file]
也可以用 phpMyAdmin 数据库管理工具直接创建导入。
4. 重启 mysqld 服务
systemctl restart mysqld
5. 将第二步打包的 vtigercrm.ziP 上传到 /data/wwwroot/default/ 目录,并解压;
unzip vtigercrm.zip
务必保证解压后 vtigercrm 文件夹是在 /data/wwwroot/default/ 目录下,若不是,可用 mv 命令将文件夹移到该目录下。
6. 下载升级包,并解压到 vtigercrm 安装目录;
wget https://nchc.dl.sourceforge.net/project/vtigercrm/
vtiger%20CRM%207.0.1/Core%20Product/vtigercrm-650-701-patch.zip // 此链接为 vtigercrm_6.5.0 升 7.0.1
的升级包
unzip vtigercrm-650-701-patch.zip -d /data/wwwroot/default/vtigercrm // 解压过程会提示是否覆盖原
文件,按 “A” 选择全部覆盖 , 解压完成后还会得到一个 vtiger7.zip 压缩文件
cd /data/wwwroot/default/vtigercrm
unzip vtiger7.zip // 解压过程会提示是否覆盖源文件,按 “A” 选择全部覆盖
7. 更改权限;
chown -R apache.apache /data/wwwroot/default/vtigercrm
find /data/wwwroot / -type d -exec chmod -R 750 {} \;
find /data/wwwroot / -not -type d -exec chmod 640 {} \;
9. 更改 php 的配置文件 , 更改以下几项,并重启 Apache 服务 , 否则安装会报错(vim常用命令可百度);
vim /etc/php.ini
short_open_tag = On
max_execution_time = 0
display_errors = On
error_reporting = E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
systemctl restart httpd
10. 在浏览器中输入: ip/migrate 进入升级界面,输入旧版本的用户名和密码即可以升级;
11. 升级完成后输入用户名和密码即可进入到新版本环境,旧版本的数据依然存在。

方案二 : 基于新版本直接导入旧版本数据
vtiger6.5 升级 7.0 后界面、仪表板有较大的差异,由方法一的升级结果来看,升级后数据库的体积有所增大,因此数据库在导入时
会出现 “#1062 – Duplicate entry '1ʹ for key ‘PRIMARY'” 错误,根据网上搜索错误原因是主要是导入数据重复的问题,
解决方法是:现在的数据表清空,重新导入即可。但是,及时将升级后的数据库清空,依然会出现该问题。

方案三 : rsync 同步
利用 rsync 命令实现文件备份同步,在备份时的同时将文件传送到新服务器上,但是在恢复数据库时出现了
“ERROR 1005 (HY000): Can't create table” 的错误,其中有一张表格无法导入,以致网站无法打开。据百度结果显示,
导致该错误的原因有以下三点:
1 、外键的引用类型不一样,如主键是 int 外键是 char
2 、找不到主表中引用的列
3 、主键和外键的字符编码不一致,也可能存储引擎不一样
后经分析,最大的可能是存储引擎不一样,旧版本的数据库引擎为 INNODB ,而新版本数据库的配置文件 my.cnf 没有修改,所以数据
库启动时会出现 INNODB 错误。

方案四 : 新服务器上先创建空数据库并且导入旧版本数据库,然后进行新版本的安装
在新服务器内先创建一个和旧版本数据库名字一样的空数据库,再将旧版本数据库导入到新的同名空数据库中 ( 此过程不会出现错误 ) ,
然后进行 vtigercrm_7.0.1 的安装,安装时所填信息 ( 如:用户名、密码, First name 、邮箱等 ) 与 vtigercrm_6.5.0 保持一致,
这种方法确实可以进入到最终的安装步骤,但最后还是会出现 “xxx table has existed” 的错误导致安装失败。

方案五 : 先将旧版版升级,再将升级后的数据库导入新服务器的数据库
该方案和方案四一样会出现同样的错误。
发表于 12月 1 用户: 匿名
干货干货,楼主辛苦了
欢迎来到 Websoft9知乎 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...