本文目錄一覽:
- 1、Mysql 導出導入資料庫問題。不要複製的,因為看不懂。
- 2、如何導出和導入MYSQL數據(數據遷移
- 3、MySQL資料庫導出與導入及常見錯誤解決
- 4、如何實現MySQL 資料庫導入與導出
- 5、mysql 資料庫導出和導入
- 6、mysql如何導出、導入資料庫和表,詳細一點
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。
如果是大表,這裡可以用可傳輸表空間方式備份、恢復表,減少鎖表時間。
如何導出和導入MYSQL數據(數據遷移
1、找到my.ini文件,裡面有一行datadir=…的,就是資料庫文件目錄,
關掉mysql服務,將這個目錄整個拷貝過去
在那邊再配my.ini讓目錄吻合就行了。
2、
把資料庫上的資料備份出來,到另外一個資料庫還原,有工具PHPMYADMIN;
也可以命令行導出,
利用「mysqldump -u 用戶名 -p databasename exportfilename」導出資料庫到文件,導入:
進入MySQL Command Line Client,輸入密碼,進入到「mysql」,輸入命令”show databases;”,回車,看看有些什麼資料庫;建立你要還原的資料庫,輸入”create database voice;”,回車;切換到剛建立的資料庫,輸入”use voice;”,回車;導入數據,輸入”source voice.sql;”,回車,開始導入,再次出現”mysql”並且沒有提示錯誤即還原成功。
MySQL資料庫導出與導入及常見錯誤解決
MySQL資料庫導出與導入的過程中將會發生眾多不可預知的錯誤,本文整理了一些常見錯誤及相應的解決方法,遇到類似情況的朋友可以參考下,希望對大家有所幫助
MySQL命令行導出資料庫:
1,進入MySQL目錄下的bin文件夾:cd
MySQL中到bin文件夾的目錄
如我輸入的命令行:cd
C:Program
FilesMySQLMySQL
Server
4.1bin
(或者直接將windows的環境變數path中添加該目錄)
2,導出資料庫:mysqldump
-u
用戶名
-p
資料庫名
導出的文件名
如我輸入的命令行:mysqldump
-u
root
-p
jluibmclub
d:
jluibmclub
.sql
(輸入後會讓你輸入進入MySQL的密碼)
(如果導出單張表的話在資料庫名後面輸入表名即可)
在用命令做資料庫備份過程在cmd命令框中輸入C:/mysql/binmysqldump
-uroot
-p
jluibmclub
d:
jluibmclub
.sql
;
報錯信息:mysqldump:
Got
error:
1049:
Unknown
database
‘
jluibmclub
;’
when
selecting
the
database
,識別不了
jluibmclub
這個資料庫。
但是我在:
mysql
show
databases;
顯示:
+—————+
|
Database
|
+—————+
|
jpa
|
+—————+
mysqluse
jpa;
顯示:
Database
changed
其原因很簡單,只要記住一點。沒進入mysql環境不算執行sql語句,所以不用在其後加入逗號(「;」)。
如果進入mysql環境mysql
,則輸入的語句屬於sql語句了,在其最後一定要加上逗號(「;」)。
3、會看到文件news.sql自動生成到d盤下文件,如果不指定盤符默認在bin目錄下。
命令行導入資料庫:
1,進入MySQL:mysql
-u
用戶名
-p
如我輸入的命令行:mysql
-u
root
-p
(輸入同樣後會讓你輸入MySQL的密碼)
2,在MySQL-Front中新建你要建的資料庫,這時是空資料庫,如新建一個名為news的目標資料庫
3,輸入:mysqluse
目標資料庫名
如我輸入的命令行:mysqluse
news;
4,導入文件:mysqlsource
導入的文件名;
如我輸入的命令行:mysqlsource
news.sql(如果在bin目錄下用相對路徑名,如果在其他目錄下用絕對目錄名);
MySQL備份和還原,都是利用mysqldump、mysql和source命令來完成的。
1.Win32下MySQL的備份與還原
如何實現MySQL 資料庫導入與導出
MySQL 資料庫導入與導出,用到的工具,navicat,步驟如下:
打開navicat,點擊連接,輸入連接名,主機名或者ip地址,埠,用戶名,密碼,點擊確定。
2.以aabb為示例資料庫,選擇aabb資料庫雙擊。
3.導入資料庫,右擊aabb資料庫選擇運行sql文件,選擇好要導入的數據文件以後,點擊開始。
4.顯示以下信息,說明導入成功。
5.導出資料庫,右擊aabb資料庫選擇轉儲sql文件,選擇數據結構和數據,然後選擇存儲路徑點擊保存。
6.顯示以下信息說明導出成功。
注意事項:navicat非免費軟體。
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命令行導出資料庫:
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;
原創文章,作者:RREA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142102.html