MySQL数据导入报错一例解决篇
2008/07/11 14:29 by hackest 本站原创
题目:MySQL数据导入报错一例解决篇
作者:hackest [H.S.T.]
来源:hackest's blog
话说在下提供IDC服务也段时间了,虽然比较生意惨淡,三天卖空间,两天没人鸟的……而且都是免费用的多,掏钱买的少(加个广告[ 龙跃互联|高安全企业、个人建站首选的业务提供商www.estidc.com业务联系QQ:436270 ])。不过客户还是有一些的,嘿嘿……开场白说完了,下面直击本文要害。二次话说某夜(必然是风高月黑,伸手不见六指的夜晚(本来就五指,怎么看也看不了六指呀))某客户提出某要求……他的网站原来在别的空间提供商那里,现在空间到期了,数据库也到期了,要转到我这边来。但数据方面不太在行,要求我协助解决。呃,我当时也以为挺简单的么,DedeCMS的程序,MySQL的库,phpmyadmin导出的*.sql库文件。基本上把文件传到空间,再登录phpmyadmin直接覆盖数据就得了。
理想是美好的,现实是残酷的。导入的时候报错如下:
错误
您的 SQL 查询可能有错。如果可能的话,以下会列出 MySQL 服务器的错误输出,这可能对您解决问题有一定的帮助作用。
ERROR: 引号不配对 @ 71
STR: `
SQL: --
-- ? `information_schema`
--
CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
SQL 查询:
-- -- ? `information_schema` -- CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
MySQL 返回:
#1044 - Access denied for user 'xxx'@'localhost' to database 'information_schema'
咋一看,貌似是权限问题,但空间的虚拟主机系统权限设置上应该没有任何问题的,正常情况不应该会报这个错。后经本人用遍Google(一般不用百度)搜来搜去的,终于确定问题是出在*.sql库文件里!
于是乎,用EditPlus(很牛很牛的编辑软件,杀人放火,居家旅行,必备之选)打开*.sql文件,呃,由于本人对*.sql文件不是很熟,打开咋一看,没看出来个所以然来……虽然知道这个库文件不妥,但我不确定到底哪里不妥。所以我得找个正常的*.sql文件比对比对才能发现哪里有毛病。幸亏我服务器上还有别的用这套程序的用户,暂时借用一下权限,用别的用户登录phpmyadmin,导出所有数据表到*.sql文件中,保存到本机,然后直接用EditPlus打开,再对比两者的区别。
经过一番刻骨铭心的对比,终于发现了差别之处……原来这家伙把原来空间的系统数据库表也一并备份出来了!information_schema这个表就是系统数据库表!里面貌似存了用户和密码什么的,在原空间当然可以正常使用。但是转到我这里之后就不同了,我的库用户名密码和原来的当然不同啊。不同就导不进数据呀,何况第一行就是:
CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
这么一句自然执行不了,因为虚拟主机分配的当前库用户无权限创建库的。再仔细比较两个*.sql文件后确定其实没有这些也不影响CMS运行的。
解决方案:
用EditPlus打开有问题的*.sql数据库文件,手工删掉“表的结构 `dede_addonarticle`”这一行前面的数据,保留头部就可以了。比如我这个文件的是这样:
-- phpMyAdmin SQL Dump
-- version 2.10.2
-- http://www.phpmyadmin.net
--
-- 主机: xxx.xxx.xxx.xxx:3306
-- 生成日期: 2008 年 06 月 28 日 15:10
-- 服务器版本: 5.0.27
-- PHP 版本: 4.4.8
-- --------------------------------------------------------
--
-- 表的结构 `dede_addonarticle`
……………………………………………………………………………………………………
后面的保留,再保存一下就可以了,然后再进phpmyadmin导入数据就没有问题了。至此问题解决。可能写得不是很明白,或者根本描述不当,这个与本人水平实在是太过有限有莫大的关系。希望本文对遇到类似问题的IDC同志们有所帮助。
PS:你今天是出来打酱油呢,还是出来做俯卧撑的呢?!
作者:hackest [H.S.T.]
来源:hackest's blog
话说在下提供IDC服务也段时间了,虽然比较生意惨淡,三天卖空间,两天没人鸟的……而且都是免费用的多,掏钱买的少(加个广告[ 龙跃互联|高安全企业、个人建站首选的业务提供商www.estidc.com业务联系QQ:436270 ])。不过客户还是有一些的,嘿嘿……开场白说完了,下面直击本文要害。二次话说某夜(必然是风高月黑,伸手不见六指的夜晚(本来就五指,怎么看也看不了六指呀))某客户提出某要求……他的网站原来在别的空间提供商那里,现在空间到期了,数据库也到期了,要转到我这边来。但数据方面不太在行,要求我协助解决。呃,我当时也以为挺简单的么,DedeCMS的程序,MySQL的库,phpmyadmin导出的*.sql库文件。基本上把文件传到空间,再登录phpmyadmin直接覆盖数据就得了。
理想是美好的,现实是残酷的。导入的时候报错如下:
错误
您的 SQL 查询可能有错。如果可能的话,以下会列出 MySQL 服务器的错误输出,这可能对您解决问题有一定的帮助作用。
ERROR: 引号不配对 @ 71
STR: `
SQL: --
-- ? `information_schema`
--
CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
SQL 查询:
-- -- ? `information_schema` -- CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
MySQL 返回:
#1044 - Access denied for user 'xxx'@'localhost' to database 'information_schema'
咋一看,貌似是权限问题,但空间的虚拟主机系统权限设置上应该没有任何问题的,正常情况不应该会报这个错。后经本人用遍Google(一般不用百度)搜来搜去的,终于确定问题是出在*.sql库文件里!
于是乎,用EditPlus(很牛很牛的编辑软件,杀人放火,居家旅行,必备之选)打开*.sql文件,呃,由于本人对*.sql文件不是很熟,打开咋一看,没看出来个所以然来……虽然知道这个库文件不妥,但我不确定到底哪里不妥。所以我得找个正常的*.sql文件比对比对才能发现哪里有毛病。幸亏我服务器上还有别的用这套程序的用户,暂时借用一下权限,用别的用户登录phpmyadmin,导出所有数据表到*.sql文件中,保存到本机,然后直接用EditPlus打开,再对比两者的区别。
经过一番刻骨铭心的对比,终于发现了差别之处……原来这家伙把原来空间的系统数据库表也一并备份出来了!information_schema这个表就是系统数据库表!里面貌似存了用户和密码什么的,在原空间当然可以正常使用。但是转到我这里之后就不同了,我的库用户名密码和原来的当然不同啊。不同就导不进数据呀,何况第一行就是:
CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
这么一句自然执行不了,因为虚拟主机分配的当前库用户无权限创建库的。再仔细比较两个*.sql文件后确定其实没有这些也不影响CMS运行的。
解决方案:
用EditPlus打开有问题的*.sql数据库文件,手工删掉“表的结构 `dede_addonarticle`”这一行前面的数据,保留头部就可以了。比如我这个文件的是这样:
-- phpMyAdmin SQL Dump
-- version 2.10.2
-- http://www.phpmyadmin.net
--
-- 主机: xxx.xxx.xxx.xxx:3306
-- 生成日期: 2008 年 06 月 28 日 15:10
-- 服务器版本: 5.0.27
-- PHP 版本: 4.4.8
-- --------------------------------------------------------
--
-- 表的结构 `dede_addonarticle`
……………………………………………………………………………………………………
后面的保留,再保存一下就可以了,然后再进phpmyadmin导入数据就没有问题了。至此问题解决。可能写得不是很明白,或者根本描述不当,这个与本人水平实在是太过有限有莫大的关系。希望本文对遇到类似问题的IDC同志们有所帮助。
PS:你今天是出来打酱油呢,还是出来做俯卧撑的呢?!
Posted in 雕虫小技 | Tags: mysql数据导入报错一例解决篇
COMMENT[16]

C写的一个解密ASCII加密的小工具
ThinkPad,I'm coming
![[H.S.T.]十六进制信息安全网官方讨论组](http://www.hackest.cn/logo1.gif)

加我俺免费帮你做个优化!
QQ:234360454
写东西也要养成良好的习惯么,嘿嘿……
Idc不是人人都可以做的.!
IDC不是人做的,做IDC的都不是人?!
idc不景气啊 :(
ps: 我从i170搬到摆渡鸟,给我换一下link吧 :)