本文目錄一覽:
- 1、mysql 數據庫導出和導入
- 2、如何實現MySQL 數據庫導入與導出
- 3、mysql怎麼導入和導出數據庫文件
- 4、MySQL導出導入SQL文件命令方法
- 5、Mysql 導出導入數據庫問題。不要複製的,因為看不懂。
mysql 數據庫導出和導入
MySQL命令行導出數據庫:
1,進入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄
如我輸入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
(或者直接將windows的環境變量path中添加該目錄)
2,導出數據庫:mysqldump -u 用戶名 -p 數據庫名 導出的文件名
如我輸入的命令行:mysqldump -u root -p news news.sql (輸入後會讓你輸入進入MySQL的密碼)
(如果導出單張表的話在數據庫名後面輸入表名即可)
3、會看到文件news.sql自動生成到bin文件下
命令行導入數據庫:
1,將要導入的.sql文件移至bin文件下,這樣的路徑比較方便
2,同上面導出的第1步
3,進入MySQL:mysql -u 用戶名 -p
如我輸入的命令行:mysql -u root -p (輸入同樣後會讓你輸入MySQL的密碼)
4,在MySQL-Front中新建你要建的數據庫,這時是空數據庫,如新建一個名為news的目標數據庫
5,輸入:mysqluse 目標數據庫名
如我輸入的命令行:mysqluse news;
6,導入文件:mysqlsource 導入的文件名;
如我輸入的命令行:mysqlsource news.sql;
如何實現MySQL 數據庫導入與導出
MySQL 數據庫導入與導出,用到的工具,navicat,步驟如下:
打開navicat,點擊連接,輸入連接名,主機名或者ip地址,端口,用戶名,密碼,點擊確定。
2.以aabb為示例數據庫,選擇aabb數據庫雙擊。
3.導入數據庫,右擊aabb數據庫選擇運行sql文件,選擇好要導入的數據文件以後,點擊開始。
4.顯示以下信息,說明導入成功。
5.導出數據庫,右擊aabb數據庫選擇轉儲sql文件,選擇數據結構和數據,然後選擇存儲路徑點擊保存。
6.顯示以下信息說明導出成功。
注意事項:navicat非免費軟件。
mysql怎麼導入和導出數據庫文件
附加數據庫
或者導入數據庫
sql本身有數據導入的操作。但如果要從一個備份的文件中導入數據,則要進行另外的操作。下面以一個例子進行說明。
sql服務器上已有一個doe數據庫,並且裡面有大量的數據,現準備從另外一個備份文件a1.bak(不是doe數據庫的備份文件)中導入另外的數據(即導入後在doe中增加一些數據表,表中已錄有數據),並保持原doe的數據不變。
1、首先,在“sql企業管理器”中新建一個臨時數據庫a1。
2、右擊a1數據庫,選擇:所有任務->還原數據庫。
3、在“還原數據庫”窗口中,選擇:“從設備”。
4、點擊“選擇設備”。
5、點擊“添加”。
6、從文件名中選擇要還原的數據庫文件,如a1.bak。
7、點擊“確定”,返回“還原數據庫”窗口。
8、點擊“選項”卡,進入選項設置。
9、鉤選:“在現有數據庫上強制還原”。
10、修改“移到物理文件名”為:“c:\a1.ldf”、“c:\a1.mdf”。
11、點確定,即可導入備份文件中的數據到臨時數據庫a1中。
12、此時,你可以將數據從a1導入到另外一真正要導入的數據庫中,如doe數據庫。
(下面的數據導入操作為sql2000企業管理器的一般數據導入導出操作。)
13、在“sql企業管理器”中選擇“doe”數據庫。
14、右擊doe數據庫,選擇:所有任務->導入數據。
15、在“dts導入/導出嚮導”窗口的“選擇數據源”中,數據源選擇剛才建立並導入數據的臨時數據庫a1。點擊下一步。
16、在“選擇目的”中,系統已經默認為doe數據庫。
17、連續點擊“下一步”,直到完成。
經過上面的操作,你已經成功地將備份文件a1.bak中數據導入doe數據庫中,並且doe數據庫原有數據不變。
此時,你可以刪除臨時數據庫a1。
MySQL導出導入SQL文件命令方法
1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 導出的`文件名
mysqldump -u wcnc -p smgp_apps_wcnc wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users wcnc_users.sql
3.導出一個數據庫結構
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc d:wcnc_db.sql
-d 沒有數據 –add-drop-table 在每個create語句之前增加一個
4.導入數據庫
常用source 命令
進入mysql數據庫控制台,
如mysql -u root -p
mysqluse 數據庫
然後使用source命令,後面參數為腳本文件(如這裡用到的.sql)
mysqlsource d:wcnc_db.sql
Mysql 導出導入數據庫問題。不要複製的,因為看不懂。
如果從庫上表 t 數據與主庫不一致,導致複製錯誤,整個庫的數據量很大,重做從庫很慢,如何單獨恢復這張表的數據?通常認為是不能修復單表數據的,因為涉及到各表狀態不一致的問題。下面就列舉備份單表恢復到從庫會面臨的問題以及解決辦法:
場景 1
如果複製報錯後,沒有使用跳過錯誤、複製過濾等方法修復主從複製。主庫數據一直在更新,從庫數據停滯在報錯狀態(假設 GTID 為 aaaa:1-100)。
修復步驟:
在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000);
恢復到從庫;
啟動複製。
這裡的問題是複製起始位點是 aaaa:101,從庫上表 t 的數據狀態是領先其他表的。aaaa:101-10000 這些事務中只要有修改表 t 數據的事務,就會導致複製報錯 ,比如主鍵衝突、記錄不存在(而 aaaa:101 這個之前複製報錯的事務必定是修改表 t 的事務)
解決辦法:啟動複製時跳過 aaaa:101-10000 這些事務中修改表 t 的事務。
正確的修復步驟:
1. 在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000),恢復到從庫;
2. 設置複製過濾,過濾表 t:
CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = (‘db_name.t’);
3. 啟動複製,回放到 aaaa:10000 時停止複製(此時從庫上所有表的數據都在同一狀態,是一致的);
START SLAVE UNTIL SQL_AFTER_GTIDS = ‘aaaa:10000’;
4. 刪除複製過濾,正常啟動複製。
注意事項:這裡要用 mysqldump –single-transaction –master-data=2,記錄備份快照對應的 GTID
場景 2
如果複製報錯後,使用跳過錯誤、複製過濾等辦法修復了主從複製。主、從庫數據一直在更新。
修復步驟:
在主庫上備份表 t (假設備份快照 GTID為 aaaa:1-10000);
停止從庫複製,GTID為 aaaa:1-20000;
恢復表 t 到從庫;
啟動複製。
這裡的問題是複製起始位點是 aaaa:20001,aaaa:10000-20000 這些事務將不會在從庫上回放,如果這裡面有修改表 t 數據的事務,從庫上將丟失這部分數據。
解決辦法:從備份開始到啟動複製,鎖定表 t,保證 aaaa:10000-20000 中沒有修改表 t 的事務。
正確修復步驟:
對錶 t 加讀鎖;
在主庫上備份表 t;
停止從庫複製,恢復表 t;
啟動複製;
解鎖表 t。
如果是大表,這裡可以用可傳輸表空間方式備份、恢復表,減少鎖表時間。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/271752.html