‘壹’ mysql导入sql文件失败怎么办
进入mysql后使用如下命令导入sql脚本文件:
mysql>
source
test.sql;
其实test.sql就是你要导入的sql文件
source就是导入sql文件的命令
比如你在f盘有个test.sql文件,导入命令如下:
source
f:/test.sql;
‘贰’ 用mysql导入sql文件错误1064
通常的话,你这个SQL文件应该是UTF-8的,在操作的时候,添加了文件头BOM,这样,就会导致1064错误。
解决方法是:
使用UE、sublime、dreamweaver等编辑软件,另存为去掉BOM的SQL 文件,即可正常导入。
---------------------------注意不要用windows自带的记事本
‘叁’ mysql导入sql文件报1064失败
是否有创建数据库
查询导入的格式
文件是否被修改
可以在源系统上把结构选择导出来,然后先导入结构看是否有问题,如没有问题再重新导一次
可以通过navicat工具去操作
‘肆’ mysql 导入sql文件失败
你的SQL语句有误,错误原因-乱码!!
调试:在执行sql之前执行输出操作
echo $myTestSqlString;//你就会看到乱码内容
如查因为转码而乱码,可以
iconv(“UTF-8″,”GB2312//IGNORE”,$data) ;
或
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )
第一个参数:要处理的字符串
第二个参数:目标编码
第三个参数:内容原编码
若是页面总体乱码需统一编码
参考文章:PHP 网页乱码终极解决方案
http://snowcoal.com/article/409.html
‘伍’ 为什么使用Mysql命令source导入.sql文件时总是出错
换工具导入呗,navcat或者sqlyog
命令导入就只有这样的方法,source
地址,语法是没有错误的,你导入失败可能的原因有很多啊,比如说sql中没有创建数据库的语句,或者由于cmd命令行的限制产生的其他错误啊,CMD本身就是有局限性的,太大的就是导入不进去,这个不能强求。
‘陆’ sqlyog导入sql出现执行错误
首先 双击打开数据库,然后“右键”你需要的数据库,然后选“运行sql文件”,点击右侧的“浏览”找到你需要导入的sql文件,点击“开始”就可以了
双击 你的这个链接,例如“本地数据库” 然后你会看到许多的数据库 ,随便打开一个数据库,这个时候你点击navicat上面右侧的查询,创建查询
然后把你的sql打开,复制里面的sql信息,粘贴到那个查询窗口中 运行,这样 创建数据库 和导入表都可以的
打开navicat管理工具----双击打开某一个数据库连接(自己命名的链接,例如'本地mysql链接')-----选择要导入的数据库名称,双击打开---右键这个打开的数据库-----选择运行sql文件------点击弹出窗口中文件右侧的浏览-----找到你的sql文件,然后点击开始,这样sql文件就成功导入你的数据库了,记得摁f5刷新下这个数据库就会看到表了。如果你的sql文件是多个,不是一个,那没办法,只能一个一个的导入了。正常来说一个数据库导出1个sql文件就可以了,不用单个表单个表的导出。导出的话是右键打开的数据库-----转储sql文件----选择存放目录及文件名即可。
‘柒’ mysql 导入报错 max_allowed_packet
导入sql文件的时候 死活导不进 总归失败
max_allowed_packet就是来限制单个表的大小,而不是sql文件大小。
max_allowed_packet 针对的是一个事务中的一行记录大小,当一行记录超过了限制的大小,将会报错。sql文件中每次insert完进同一张表的所有数据被称为一个数据包(packet),max_allowed_packet就是来限制这个的大小的阈值,大于这个值,mysql的I/O连接会关闭,就会报这个错。
进入mysql 设置
set global max_allowed_packet = 1024 1024 160;
导入sql文件 成功!
原来到sql 都是正常的,可能突然数据量增加,超过了单个表单的大小限制,也算学习了