最近在弄www.web532.com 的网站,本地系统用WAMPserver系统搭建,
本地mysql的数据库版本为:
-
服务器: localhost (localhost via TCP/IP)
-
软件: MySQL
-
软件版本: 5.5.24-log - MySQL Community Server (GPL)
-
协议版本: 10
-
用户: root@localhost
-
服务器字符集: UTF-8 Unicode (utf8)
本地PHPmyadmin的版本信息:
phpMyAdmin
-
版本信息: 3.5.1,
远程Mysql数据库版本信息:
-
服务器版本: 5.0.22
-
Protocol version: 10
-
服务器: Localhost via UNIX socket
远程PHPmyadmin的版本信息
phpMyAdmin - 2.9.1.1
然后在息壤-鹏博士开了一个linux的空间,将文件ftp上去,接下来就是mysql数据的迁移。
本来想用SQLyog企业版对拷过去,没成功,远程Mysql服务器连接不上,估计是息壤将3306端口封掉了。
其实本来打算的数据库迁移有三种方式:1、利用SQLyog类似的工具对拷,此种办法已经宣告失败;2、使用PHPmyadmin备份sql,然后远端import进去;3、使用帝国备份王备份后还原。其实还有种方式,就是直接用dedecms自带的备份还原功能进行迁移,但我没用过这种方式,印象中好几年前在使用discz还是帝国cms在使用自带的备份迁移时,所有的数据都乱码了,折腾了半天。所以我还是愿意选择保险一些的办法。^_^
接下来尝试PHPmyadmin,本地采用gzip本分后,传到远端,进行import,结果在导入dede_purview时出现了如下错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8' at line 7
第一步,想着是数据库版本问题,就找了帝国备份王,以为他能解决这个问题。谁知道结果一样,会出现这样的问题。
第二步,网上查的说是可以修改sql语句:
其他人给出的解决办法
SQL 查询:
-- --------------------------------------------------------
-- -- 表的结构 `dede_purview` -- CREATETABLEIF NOTEXISTS `dede_purview` ( `mid` mediumint( 8 ) DEFAULT'0', `typeid` smallint( 5 ) DEFAULT'0', `rank` smallint( 6 ) DEFAULTNULL, `pkey` varchar( 30 ) CHARACTERSETlatin1 NOTNULL, `pvalue` text NOTNULL, KEY`pkey` ( `pkey` ) USING BTREE) ENGINE = MYISAM DEFAULTCHARSET = utf8;
MySQL 返回:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8' at line 7
●把USING BTREE 去掉, 这是mysql server不兼容造成的。
●语句应该改成:
CREATETABLEIF NOTEXISTS `dede_purview` ( `mid` mediumint( 8 ) DEFAULT'0', `typeid` smallint( 5 ) DEFAULT'0', `rank` smallint( 6 ) DEFAULTNULL, `pkey` varchar( 30 ) CHARACTERSETlatin1 NOTNULL, `pvalue` text NOTNULL, KEY`pkey` USING BTREE ( `pkey` )) ENGINE = MYISAM DEFAULTCHARSET = utf8;
事实上就是将 `pkey` ( `pkey` ) 后边的( `pkey` ) 移到 USING BTREE 后边。
然后的难度将本表的sql利用远端的phpmyadmin运行后,正常执行。
搞定。
没有评论,留下你的印记,证明你来过。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。