您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Navicat運行sql文件導入數據不全或導入失敗如何解決”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Navicat運行sql文件導入數據不全或導入失敗如何解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
我們平時想把數據從一個數據庫中導入另外一個數據庫中的時候
一般都是把所需的數據表進行轉儲sql文件 然后再運行sql文件 導入新的數據庫中
這么做 數據少的時候一般不會出現什么錯
但是如果數據量比較大 表比較多 就會出現缺少數據表 或者缺少數據
先從數據庫的配置文件下手
找到服務器上的MYSQL安裝目錄下的my.ini文件 然后去修改 記得重啟
查找max_allowed_packet屬性
max_allowed_packet=50M
或者再改大一點都行
從navicat修改數據庫存儲大小 和第一個有點相似 我2個都改了
命令:
//查看當前max_allowed_packet的大小
show global variables like 'max_allowed_packet';
//修改max_allowed_packet的大小
set global max_allowed_packet=1024*1024*50;
改過后查詢以下大小有沒有改變 改變了就成功了
導入的數據庫和導出得數據庫編碼和結構不同
修改數據庫的表字符集同步
更改嚴格模式,執行下列sql后再導入sql文件;
SET sql_mode = ''; SET GLOBAL sql_mode = '';
注意:
當用"SET sql_mode=''"時,mysql清除的默認的模式信息,
但是這也有一個問題,那就mysql不會作入侵檢測,錯誤提示,
這就要求程序員在進行sql操作的時候更加小心。可以將上面sql加入到sql文件中先執行
在我們導入數據的時候 把 "在每個運行中運行多個查詢" 給對掉 這么會慢一些 但是數據不會沖突 不會讓數據進行減少
這個方法有點玄學 可信度有待調查 可以嘗試嘗試大家
在數據庫中選擇運行sql文件 沒有在表中選擇 運行sql文件 會準確度高一些
使用命令行導入導出
1. 導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u dbuser -p dbname > dbname.sql
2. 導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql
3. 導出一個數據庫結構
mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql -d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table
常用source 命令
進入mysql數據庫控制臺,如
mysql -u root -p mysql>use 數據庫
然后使用source命令,后面參數為腳本文件(如這里用到的.sql)
mysql>source d:/dbname.sql
導入數據到數據庫
mysql -uroot -D數據庫名
導入數據到數據庫中得某個表
mysql -uroot -D數據庫名 表名
導出數據庫用mysqldump命令(注意mysql的安裝路徑,即此命令的路徑):
1、導出數據和表結構:
mysqldump -u 用戶名 -p 參數(可選) 數據庫名 >/home/sql/ 數據庫名.sql
mysqldump -u root -p --default-character-set=utf8 db_name>/home/sql/fileName.sql
敲回車后會提示輸入密碼
2、只導出表結構
mysqldump -u用戶名 -p密碼 -d 數據庫名 > 數據庫名.sql
/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql
注:/usr/local/mysql/bin/ —> mysql的data目錄
1、首先建空數據庫
mysql>create database abc;
2、導入數據庫
方法一:
(1)選擇數據庫
mysql>use abc;
(2)設置數據庫編碼
mysql>set names utf8;
(3)導入數據(注意sql文件的路徑)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用戶名 -p 參數(可選) 數據庫名 < 數據庫名.sql
mysql -uabc_f -p--default-character-set=utf8 abc < abc.sql
沒有用過 看到最新的navicat12帶的功能
數據傳輸和數據同步 結構同步 打開界面看了一下 更加簡單暴力
如果上面的都沒有解決你的問題
可以嘗試一種簡單暴力的方法 如果要導入的數據不多
可以把sql文件直接打開然后到navicat里面直接 查詢->新建查詢 然后輸入sql
看看到底哪個地方報錯了 然后再對應去修改
讀到這里,這篇“Navicat運行sql文件導入數據不全或導入失敗如何解決”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。