mysql导出数据库报错,navicat 导入导出数据库报错的解决
在使用navicat導(dǎo)入導(dǎo)出數(shù)據(jù)功能時,導(dǎo)出沒問題,導(dǎo)入總是報錯,還遇到了中文亂碼。在網(wǎng)上查了很多資料,比如使用了navicat的數(shù)據(jù)傳輸功能,但仍然報錯,弄了幾個小時都沒解決。
最后換了種思路,我直接用mysql自帶的命令行來嘗試導(dǎo)入導(dǎo)出,結(jié)果一試就成功無任何報錯、亂碼!
這里順便貼出網(wǎng)上的教程:
MySQL命令行導(dǎo)出數(shù)據(jù)庫:
1,進入MySQL目錄下的bin文件夾:cd?MySQL中到bin文件夾的目錄
如我輸入的命令行:cd?D:\Program Files\MySQL\MySQL Server 5.5\bin
(或者直接將windows的環(huán)境變量path中添加該目錄)
2,導(dǎo)出數(shù)據(jù)庫:mysqldump?-u?用戶名?-p?數(shù)據(jù)庫名?>?導(dǎo)出的文件名
如我輸入的命令行:mysqldump?-u lmapp -p lmapp -P 3308 > lmapp.sql???(輸入后會讓你輸入進入MySQL的密碼)
(如果導(dǎo)出單張表的話在數(shù)據(jù)庫名后面輸入表名即可)
mysql導(dǎo)出數(shù)據(jù)庫一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
mysqldump -u lmapp -p lmapp users> test_users.sql (結(jié)尾沒有分號)
3、會看到文件news.sql自動生成到bin文件下
導(dǎo)出時,遇到上面的問題。
解決措施:加個參數(shù)-P?3308(mysql服務(wù)端口)即可解決問題。
命令行導(dǎo)入數(shù)據(jù)庫:
1,將要導(dǎo)入的.sql文件移至bin文件下,這樣的路徑比較方便
2,同上面導(dǎo)出的第1步
3,進入MySQL:mysql?-u?用戶名?-p
如我輸入的命令行:mysql?-u?root?-p???(輸入同樣后會讓你輸入MySQL的密碼)
4,在MySQL-Front中新建你要建的數(shù)據(jù)庫,這時是空數(shù)據(jù)庫,如新建一個名為news的目標(biāo)數(shù)據(jù)庫
5,輸入:mysql>use?目標(biāo)數(shù)據(jù)庫名
如我輸入的命令行:mysql>use?news;
6,導(dǎo)入文件:mysql>source?導(dǎo)入的文件名;
如我輸入的命令行:mysql>source?news.sql;
注:由于導(dǎo)入數(shù)據(jù)庫的規(guī)模、數(shù)據(jù)結(jié)構(gòu)不同,導(dǎo)入所需時間會有較大差異。我導(dǎo)入的數(shù)據(jù)庫有123M,花費將近5個小時。期間以為機器宕掉了,仔細(xì)觀察命令行界面發(fā)現(xiàn),導(dǎo)入是在正常進行的。導(dǎo)入成功后的界面如下:
注:導(dǎo)入單張數(shù)據(jù)表時,使用類似use lmapp lm_area 、source lm_area.sql的sql語句。原數(shù)據(jù)表可存在,導(dǎo)入后的數(shù)據(jù)表會覆蓋同名已存在的數(shù)據(jù)表。
MySQL備份和還原,都是利用mysqldump、mysql和source命令來完成的。
總結(jié)
以上是生活随笔為你收集整理的mysql导出数据库报错,navicat 导入导出数据库报错的解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql传不进去汉字,Mysql下插入
- 下一篇: php留言板代码容易出错,制作PHP+M