navicat 导入导出数据库报错的解决

在使用navicat导入导出数据功能时,导出没问题,导入总是报错,还遇到了中文乱码。在网上查了很多资料,比如使用了navicat的数据传输功能,但仍然报错,弄了几个小时都没解决。

最后换了种思路,我直接用mysql自带的命令行来尝试导入导出,结果一试就成功无任何报错、乱码!

这里顺便贴出网上的教程:

MySQL命令行导出数据库:

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
如我输入的命令行:cd D:\Program Files\MySQL\MySQL Server 5.5\bin
(或者直接将windows的环境变量path中添加该目录)
 
2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
如我输入的命令行:mysqldump -u lmapp -p lmapp -P 3308 > lmapp.sql   (输入后会让你输入进入MySQL的密码)
如果导出单张表的话在数据库名后面输入表名即可
       mysql导出数据库一个表
  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u lmapp -p lmapp users> test_users.sql (结尾没有分号)
3、会看到文件news.sql自动生成到bin文件下  
 
导出时,遇到上面的问题。

解决措施:加个参数-P 3308(mysql服务端口)即可解决问题。

命令行导入数据库:

1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
2,同上面导出的第1步
3,进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p   (输入同样后会让你输入MySQL的密码)
4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
5,输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
6,导入文件:mysql>source 导入的文件名; 
如我输入的命令行:mysql>source news.sql; 
 
      注:由于导入数据库的规模、数据结构不同,导入所需时间会有较大差异。我导入的数据库有123M,花费将近5个小时。期间以为机器宕掉了,仔细观察命令行界面发现,导入是在正常进行的。导入成功后的界面如下:
      
      注:导入单张数据表时,使用类似use lmapp lm_area 、source lm_area.sql的sql语句。原数据表可存在,导入后的数据表会覆盖同名已存在的数据表。
      MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

发布了17 篇原创文章 · 获赞 15 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/junzi528/article/details/79942660
今日推荐