<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
為了保證資料的安全,需要定期對資料進行備份。備份的方式有很多種,效果也不一樣。如果資料庫中的資料出現了錯誤,就需要使用備份好的資料進行資料還原。這樣可以將損失降至最低。而且,可能還會涉及到資料庫之間的資料匯入與匯出。
備份資料是資料庫管理中最常用的操作。為了保證資料庫中資料的去安全,資料庫管理員需要定期的進行資料庫備份。一旦資料庫遭到破壞,即通過備份的檔案來還原資料庫。因此,資料備份是很重要的工作。
mysqldump命令可以將資料庫中的資料備份成一個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。
mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成一個create語句。然後,將表中的所有記錄轉換成一條insert語句。這些create語句和insert語句都是還原時使用的。還原資料時就可以使用其中的create語句來建立表。使用其中的insert語句來還原資料。
1、備份一個資料庫
使用mysqldump命令備份一個資料庫的基本語法如下:
mysqldump -u username -p dbname table1 table2 ... > backupname.sql
其中,dbname參數列示資料庫的名稱;table1和table2參數列示表的名稱,沒有該引數時將備份整個資料;backupname.sql參數列示備份檔案的名稱,檔名前面可以加上一個絕對路徑。通常將資料庫備份成一個字尾名為sql的檔案。
2、備份多個資料庫
mysqldump命令備份多個資料庫的語法如下:
mysqldump -u username -p --databases dbname1 dbname2 ... > backupname.sql
這裡要加上“–databases”這個選項,然後後面跟多個資料庫的名稱。
3、備份所有資料庫
mysqldump命令備份所有資料庫的語法如下:
mysqldump -u username -p --all-databases > backupname.sql
使用“–all-databases”選項就可以備份所有的資料庫了。
MySQL有一種最簡單的備份辦法,就是將MySQL中的資料庫檔案直接複製出來。這種方法最簡單,速度也最快。使用這種方法時,最好將伺服器先停止。這樣,可以保證在複製期間資料庫中的資料不會發生變化。如果在複製資料庫的過程中還有資料寫入,就會造成資料不一致。
這種方法雖然簡單快速,但不是最好的備份方法。因為,實際情況可能不允許停止MySQL伺服器。而且,這種方法對InnoDB儲存引擎的表不適用。對於MyISAM儲存引擎的表,這樣備份和還原很方便。但是還原時最好是相同版本的MySQL資料庫,否則可能會存在檔案型別不同的情況。
如果備份時不能停止MySQL伺服器,可以採用mysqlhotcopy工具。mysqlhotcopy工具的備份方式比mysqldump命令快。
mysqlhotcopy工具是一個Perl指令碼,主要在Linux作業系統下使用。mysqlhotcopy工具使用lock tables、flush tables和cp來進行快速備份。其工作原理是,先將需要備份的資料庫加上一個讀操作鎖,然後,用flush tables將記憶體中的資料寫回到硬碟上的資料庫中,最後,把需要備份的資料庫檔案複製到目標目錄。使用mysqlhotcopy的命令如下:
mysqlhotcopy [option] dbname1 dbname2 ... backupDir/
其中,dbname1等表示需要備份的資料庫的名稱;backupDir引數指出備份到哪個資料夾下。這個命令的含義就是將dbname1、dbname2等資料庫備份到backDir目錄下。
管理員的非法操作和計算機的故障都會破壞資料庫檔案。當資料庫遭到這些意外時,可以通過備份檔案將資料庫還原到備份的狀態。這樣可以將損失降低到最小。
管理員通常使用mysqldump命令將資料庫中的資料備份成一個文字檔案。通常這個檔案的字尾名是.sql。需要還原時,可以使用mysql命令來還原備份的資料。
備份檔案中通常包含create語句和insert語句。mysql命令可以執行備份檔案中的create語句和insert語句。通過create語句來建立資料庫和表。通過insert語句來插入備份的資料。mysql命令的基本語法如下:
mysql -u root -p [dbname] < backup.sql
其中,dbname參數列示資料庫名稱。該引數是可選引數,可以指定資料庫名,也可以不指定。指定資料庫名時,表示還原該資料庫下的表。不指定資料庫名時,表示還原特定的一個資料庫。而備份檔案中建立資料庫的語句。
下面使用root使用者備份所有的資料庫。命令如下:
mysql -u root -p [dbname] < backup.sql
之前介紹過一種直接複製資料的備份方法。通過這種方式備份的資料,可以直接複製到MySQL的資料庫目錄下。通過這種方式還原時,必須保證兩個MySQL資料庫的主版本號是相同的。因為只有MySQL資料庫主版本號相同時,才能保證這兩個MySQL資料庫的檔案型別是相同的。而且,這種方式對MyISAM型別的表比較有效。對於InnoDB型別的表則不可用。因為InnoDB表的表空間不能直接複製。
資料庫遷移就是指將資料庫從一個系統移動到另一個系統上。資料庫遷移的原因是多種多樣的。可能是因為升級了計算機,或者是部署開發的管理系統,或者升級了MySQL資料庫。甚至是換用其他的資料庫。根據上述情況,可以將資料庫遷移大致分為3類。這3類分別是在相同版本的MySQL資料庫之間遷移、遷移到其他版本的MySQL資料庫中和遷移到其他型別的資料庫中。
只有資料庫表都是MyISAM型別的才能使用這種方式。
最常用和最安全的方式是使用mysqldump命令來備份資料庫。然後使用mysql命令將備份檔案還原到新的MySQL資料庫中。這裡可以將備份和遷移同時進行。假設從一個名為host1的機器中備份出所有的資料庫,然後,將這些資料庫遷移到名為host2的機器上。命令如下:
mysqldump -h name1 -u root --password1 --all-databases | mysql -h host2 -u root --password=password2
其中,“|”符號表示管道,其作用是將mysqldump備份的檔案送給mysql命令;“–password=password1”是name1主機上root使用者的密碼。同理,password2是name2主機上的root使用者的密碼。通過這種方式可以直接實現遷移。
高版本的MySQL資料庫通常都會相容低版本,因此可以從低版本的MySQL資料庫遷移到高版本的MySQL資料庫。對於MySIAM型別的表可以直接複製,也可以使用mysqlhotcopy工具。但是InnoDB型別的表不可以使用這兩種方法。最常用的辦法是使用mysqldump命令來進行備份,然後,通過mysql命令將備份檔案還原到目標MySQL資料庫中。但是,高版本的MySQL資料庫很難遷移到低版本的MySQL資料庫。因為高版本的MySQL資料庫可能有一些新的特性,這些特性是低版本MySQL資料庫所不具有的。資料庫遷移時要特別小心,最好使用mysqldump命令來進行備份,避免遷移時造成資料丟失。
MySQL資料庫中的表可以匯出成文字檔案、XML檔案或者HTML檔案。相應的文字檔案也可以匯入MySQL資料庫中。在資料庫的日常維護中,經常需要進行表的匯出和匯入的操作。
MySQL中,可以使用select…into outfile語句將表的內容匯出成一個文字檔案。其基本語法形式如下:
select [列名] from table [where 語句] into outfile '目標檔案'[option];
該語句分為兩個部分。前半部分是一個普遍的select語句,通過這個select語句來查詢所需要的資料;後半部分是匯出資料的。其中,“目標檔案”引數指出將查詢的記錄匯出到哪個檔案;“OPTION”引數是可以有常用的5個選項。
mysqldump命令可以備份資料庫中的資料。但是,備份時是在備份檔案中儲存了create語句和insert語句。不僅如此,mysqldump命令還可以匯出文字檔案。其基本的語法形式如下:
mysqldump -u root -pPassword -T 目標目錄 dbname table [option];
其中,Password參數列示root使用者的密碼,密碼緊挨著-p選項;目標目錄引數是指匯出的文字檔案的路徑;dbname參數列示資料庫的名稱;table參數列示表的名稱;
mysql命令可以用來登入MySQL伺服器,也可以用來還原備份檔案。同時,mysql命令也可以匯出文字檔案。其基本語法形式如下:
mysql -u root -pPassword -e "select 語句" dbname > C:/name.txt;
其中,Password表示root使用者的密碼;使用-e選項就可以執行SQL語句;“selec語句”用來查詢記錄。C:/name.txt表示匯出檔案的路徑。
MySQL中,可以使用load data infile命令將文字檔案匯入到MySQL資料庫中。其基本語法形式如下:
load data [local] infile file into table table [option];
其中,“local”是在本地計算機中查詢文字檔案時使用的;“file”引數指定了文字檔案的路徑和名稱;“table”引數指標的名稱;
MySQL中,可以使用mysqlimport命令將文字檔案匯入到MySQL資料庫中。其基本語法形式如下:
mysqlimport -u root -pPassword [--LOCAL] dbname file [option]
其中,“Password”引數是root使用者的密碼,必須與-p選項緊挨著;“local”是在本地計算機中查詢文字檔案時使用的;“dbname”參數列示資料庫的名稱;“file”引數指定了文字檔案的路徑和名稱;
這裡的相關內容還沒有整理完畢,文章後面持續更新,建議收藏。
到此這篇關於MySQL資料備份、還原、資料庫遷移以及表的匯出和匯入的文章就介紹到這了,更多相關MySQL資料備份還原內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45