2.6.1备份恢复出错,请帮助解决。

2016-07-07 15:49 来源:www.chinab4c.com 作者:ecshop专家

MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => CREATE TABLE `ecs_admin_action` ( `action_id` tinyint(3) unsigned NOT NULL auto_increment, `parent_id` tinyint(3) unsigned NOT NULL default '0', `action_code` varchar(20) NOT NULL default '', PRIMARY KEY (`action_id`), KEY `parent_id` (`parent_id`) ) ENGINE=MyISAM DEFAULT CHARSET=gbk DEFAULT CHARSET=utf8 ) [2] => Array ( [error] => Conflicting declarations: 'CHARACTER SET gbk' and 'CHARACTER SET utf8' ) [3] => Array ( [errno] => 1302 ) )


回答:
如果是网站迁移的话建议使用ebak这个工具来备份和还原数据。

谢谢你推荐的工具。我只是在原主机上备份,还原。我没有迁移。

原主机上也可以用这个工具备份和恢复,相当方便可靠。

谢谢你的回复!
我打开了sql备份文件,但没有发现ecs_admin_action表。当然我也没有发现 ENGINE=MyISAM DEFAULT CHARSET=gbk DEFAULT CHARSET=utf8 。不知这是为什么?

已解决.
解决方法:
查找admin/includes/cls_sql_dump.php
103行
$table_df .= $tmp_sql . " ENGINE=MyISAM DEFAULT CHARSET=gbk;\r\n";
部分用户是:
$table_df .= $tmp_sql . " ENGINE=MyISAM DEFAULT CHARSET=utf-8;\r\n";

均修改成
$table_df .= $tmp_sql . " ENGINE=MyISAM DEFAULT CHARSET=utf8;\r\n";
即可

重新备份>>OK

测试下导入吧?OK了吧.

数据库存在2种编码