作者:手机用户2602920263 | 来源:互联网 | 2024-11-15 19:35
我最近尝试将一个 mysqldump 文件加载到新的 MySQL 服务器上。
备份文件是在 MySQL 3.23.46 版本下生成的:
nice -n10 mysqldump --opt -AacFfl > "databases.sql"
在新的 MySQL 服务器(版本 3.23.58)上加载备份文件时:
mysql 在执行以下语句时遇到了错误:
CREATE TABLE PMA_history (
id bigint(20) unsigned NOT NULL auto_increment,
username varchar(64) NOT NULL default '',
db varchar(64) NOT NULL default '',
table varchar(64) NOT NULL default '',
timevalue timestamp(14) NOT NULL,
sqlquery text NOT NULL,
PRIMARY KEY (id),
KEY username (username,db,table,timevalue)
) TYPE=MyISAM COMMENT='SQL history'
MySQL 报错信息如下:
You have an error in your SQL syntax near 'table varchar
(64) NOT NULL default '',
timevalue timestamp(14) NOT NULL,
s' at line 5
问题似乎出在使用了保留关键字 'table'。mysqldump 在生成备份文件时没有对字段名使用反引号(``)。我个人认为,即使可以通过某些方式绕过这个问题(尚未检查所有 mysqldump 选项),也不应该这样使用保留关键字。
该问题来源于开源项目:phpmyadmin/phpmyadmin
- 状态: open --> won't fix
- 处理者: lem9