MySQL 导入恢复数据库错误
执行命令:
mysql -u[username] -p[password] dbname<dbbak.sql
遇到“ERROR 1406 (22001): Data too long for column at ” 某个字段过长,实际上是数据库sql文件中含有UTF8编码 如中文字段内容在Windows下,命令行窗口不支持UTF-8编码,即便使用“set names utf8;”不会达到转化中文的效果。但是这个问题还是可以解决的:
(1)使用默认编码建立数据库。这种情况下就可以直接输入中文了,但是相应的问题,就是会失去UTF-8编码的灵活性。特别是不利于软件的国际化。
(2)放弃命令行窗口登录MySQL,使用图形化客户端。客户端工具可以MySQL的官方网站上找到。(比如navicat,mysql GUI tools之类的软件)
实际上sql文件小的话完全可以用phpMyAdmin的导入方式来解决的。对于大文件用上面提到的导入命令,效率比较高。实际上经过尝试,还有第三种解决方案,命令行模式mysql登录到控制台模式,用
source命令来导入 sql文件,很奇怪此时就不会再报错了。唯一不爽的是source 命令会输出一行行的sql执行结果,但在无图形化客户端的情况,仍不失为一个好办法,希望对需要的童鞋有用!
你为什么一次更新几篇文章,却不每天更新呢??求教。
@合肥seo, O(∩_∩)O哈哈~,小哥这是我的私人博客,不是用来做营销推广的也不会加广告,不需要盈利啥的,有时候遇到了想发表或者转几篇,就写几篇,平时没啥可以写的,或者比较忙就不会那么及时。呵呵,不过如果你是想推广自己博客类网站的话,还是要坚持天天更新的。
@fushanlang, 哦~~这样~~~