新聞中心
一、引言

我們擁有十載網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供做網(wǎng)站、網(wǎng)站制作、微信開(kāi)發(fā)、小程序設(shè)計(jì)、手機(jī)網(wǎng)站制作設(shè)計(jì)、html5、等業(yè)務(wù)。無(wú)論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專(zhuān)業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。
在信息時(shí)代,數(shù)據(jù)庫(kù)扮演著重要的角色,數(shù)據(jù)庫(kù)的安全性和操作性都是我們非常關(guān)注的話題。但是,在某些情況下,我們不得不考慮如何將一個(gè)數(shù)據(jù)庫(kù)從一個(gè)地方轉(zhuǎn)移到另一個(gè)地方。比如說(shuō),公司需要更換服務(wù)器或者更換數(shù)據(jù)庫(kù)類(lèi)型等等。那么,在這種情況下,我們應(yīng)該如何操作數(shù)據(jù)庫(kù)轉(zhuǎn)移呢?
二、備份源數(shù)據(jù)庫(kù)
在操作數(shù)據(jù)庫(kù)轉(zhuǎn)移之前,首先要備份源數(shù)據(jù)庫(kù),這是非常重要的一步。備份數(shù)據(jù)庫(kù)可以保證在數(shù)據(jù)轉(zhuǎn)移過(guò)程中不會(huì)丟失任何數(shù)據(jù),同時(shí)也是數(shù)據(jù)恢復(fù)的一種方式。根據(jù)數(shù)據(jù)庫(kù)的類(lèi)型,備份方式也不同。
對(duì)于MySql數(shù)據(jù)庫(kù)來(lái)說(shuō),備份方式有兩種。一種是使用命令行進(jìn)行備份,命令是“mysqldump”,通過(guò)這個(gè)命令我們可以將數(shù)據(jù)庫(kù)備份到文件中。備份完成后,我們可以將備份文件拷貝到目標(biāo)服務(wù)器上進(jìn)行數(shù)據(jù)的導(dǎo)入。另一種備份方式是使用phpMyAdmin,打開(kāi)phpMyAdmin,在需要備份的數(shù)據(jù)庫(kù)上,選擇“導(dǎo)出”即可。
對(duì)于Oracle數(shù)據(jù)庫(kù)來(lái)說(shuō),備份方式篇多,具體可以參考Oracle的官方文檔,不再贅述。
三、準(zhǔn)備目標(biāo)服務(wù)器
在進(jìn)行數(shù)據(jù)庫(kù)轉(zhuǎn)移之前,我們需要先準(zhǔn)備好目標(biāo)服務(wù)器。因?yàn)樵跀?shù)據(jù)轉(zhuǎn)移過(guò)程中,需要將備份文件導(dǎo)入到目標(biāo)服務(wù)器中,所以需要確保目標(biāo)服務(wù)器能夠接受數(shù)據(jù)庫(kù)備份文件的導(dǎo)入。通常情況下,目標(biāo)服務(wù)器需要安裝與源服務(wù)器相同的數(shù)據(jù)庫(kù)管理軟件,以確保數(shù)據(jù)兼容性。此外,在數(shù)據(jù)轉(zhuǎn)移過(guò)程中,需要確保目標(biāo)服務(wù)器的硬件和網(wǎng)絡(luò)環(huán)境都具有足夠的性能來(lái)處理大量的數(shù)據(jù)傳輸。
四、導(dǎo)入數(shù)據(jù)
在備份源數(shù)據(jù)庫(kù)和準(zhǔn)備目標(biāo)服務(wù)器之后,數(shù)據(jù)轉(zhuǎn)移的下一步就是將備份文件導(dǎo)入到目標(biāo)服務(wù)器中。對(duì)于MySql數(shù)據(jù)庫(kù)來(lái)說(shuō),我們可以使用命令“mysql -u用戶(hù)名 -p密碼 數(shù)據(jù)庫(kù)名
在數(shù)據(jù)導(dǎo)入過(guò)程中,需要注意的是,如果備份文件較大,那么數(shù)據(jù)導(dǎo)入的時(shí)間可能會(huì)比較長(zhǎng)。此時(shí),我們可以使用“screen”等命令,將數(shù)據(jù)導(dǎo)入的過(guò)程放到后臺(tái)運(yùn)行,避免阻塞其他的操作。
五、測(cè)試與驗(yàn)證
在完成數(shù)據(jù)導(dǎo)入之后,需要測(cè)試和驗(yàn)證數(shù)據(jù)的完整性和正確性。我們需要檢查數(shù)據(jù)表、索引、觸發(fā)器等是否與源數(shù)據(jù)庫(kù)完全一致。此外,我們還需要檢查應(yīng)用程序是否能夠正常訪問(wèn)和使用目標(biāo)服務(wù)器中的數(shù)據(jù)庫(kù)。
如果出現(xiàn)了問(wèn)題,那么我們需要對(duì)問(wèn)題進(jìn)行逐一排查和解決。如果數(shù)據(jù)轉(zhuǎn)移成功,并且應(yīng)用程序能夠正常使用和訪問(wèn)目標(biāo)服務(wù)器中的數(shù)據(jù)庫(kù),那么恭喜你,你已經(jīng)完成了數(shù)據(jù)庫(kù)轉(zhuǎn)移的操作。
六、
數(shù)據(jù)庫(kù)轉(zhuǎn)移是一個(gè)常見(jiàn)的操作,但也是非常重要的一步。在進(jìn)行數(shù)據(jù)庫(kù)轉(zhuǎn)移時(shí),需要先備份源數(shù)據(jù)庫(kù)并準(zhǔn)備好目標(biāo)服務(wù)器,然后進(jìn)行數(shù)據(jù)的導(dǎo)入。細(xì)致的測(cè)試和驗(yàn)證是不可或缺的步驟,只有在數(shù)據(jù)完全一致并且應(yīng)用程序能夠正常使用的情況下,才能算是真正完成了數(shù)據(jù)庫(kù)轉(zhuǎn)移。
相關(guān)問(wèn)題拓展閱讀:
- 利用SQLyogEnt對(duì)Mysql數(shù)據(jù)庫(kù)進(jìn)行轉(zhuǎn)移教程
- 如何遷移MySQL數(shù)據(jù)庫(kù)
利用SQLyogEnt對(duì)Mysql數(shù)據(jù)庫(kù)進(jìn)行轉(zhuǎn)移教程
如果你的PHP網(wǎng)站換了空間,必定要對(duì)Mysql數(shù)據(jù)庫(kù)進(jìn)行轉(zhuǎn)移,一般的轉(zhuǎn)移的方法,是備份再還原,有點(diǎn)繁瑣,而且由于數(shù)據(jù)庫(kù)版本的不一樣會(huì)導(dǎo)致數(shù)據(jù)丟失或者出現(xiàn)亂碼等等。下面介紹給大家一個(gè)方便的方法,就是利用SQLyogEnt對(duì)數(shù)據(jù)庫(kù)進(jìn)行轉(zhuǎn)移。話不多說(shuō),下面直接進(jìn)入正題。
之一步,打開(kāi)SQLyogEnt,鏈接到服務(wù)器,讀取數(shù)據(jù)庫(kù)信息,如果還不熟悉這一步操作的朋友可以看這里《如何使用SQLyogEnt來(lái)建立一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)》。
第二步,點(diǎn)擊快捷按鈕的“sqlyog
database
synchronization
wizard”按鈕,如圖。
在彈出的窗口中,選擇“start
a
new
synchronization
session”,然后點(diǎn)擊“下一步”。
第三步,選擇轉(zhuǎn)移的數(shù)據(jù)源和目標(biāo)數(shù)據(jù)庫(kù),窗口左邊的是數(shù)據(jù)源,右邊窗口為目標(biāo)數(shù)據(jù)庫(kù),設(shè)置好后點(diǎn)擊下一步設(shè)置如圖。
第四步,頁(yè)面會(huì)跳轉(zhuǎn)到下一個(gè)窗口,一般選擇默認(rèn)設(shè)置就可以了,然后點(diǎn)擊下一步,如圖。
第五步,這一步是要你選擇要轉(zhuǎn)移的表,你可以選擇某一個(gè)表的轉(zhuǎn)移,也可以將整個(gè)數(shù)據(jù)庫(kù)轉(zhuǎn)移,只要在需要轉(zhuǎn)移的表的全面打鉤就可以了,然后點(diǎn)擊下一步,詳細(xì)如圖。
第六步,這一步是要保存項(xiàng)目,默認(rèn)設(shè)置就可以了,然后下一步,如圖。
第七步,這一步程序?qū)⒆詣?dòng)進(jìn)行數(shù)據(jù)庫(kù)轉(zhuǎn)移,等待轉(zhuǎn)移好了,點(diǎn)擊下一步,OK,整個(gè)轉(zhuǎn)移操作就結(jié)束了,是不是很簡(jiǎn)單啊。
此文為木子網(wǎng)頁(yè)設(shè)計(jì)原創(chuàng),轉(zhuǎn)載請(qǐng)保留地址
www.zhaoyuanjd.com
,謝謝。
如何遷移MySQL數(shù)據(jù)庫(kù)
這個(gè)還是MYSQL的官方介紹比較權(quán)威,而且不容易出問(wèn)題,下面我把MYSQL中文幫助文檔相對(duì)應(yīng)的部分發(fā)給你吧.
MySQL中文參考手冊(cè)
翻譯:晏子(yanzi)主頁(yè):
之一章, 前一章, 下一章, 最后一章,目錄.
19 用MySQL解決一些常見(jiàn)問(wèn)題
19.1 數(shù)據(jù)庫(kù)復(fù)制
一方面復(fù)制可以用來(lái)增加健壯性和速度。對(duì)健壯性,你有2個(gè)系統(tǒng),而如果你出了問(wèn)題,切換到備份即可。額外的速度通過(guò)把非更新查詢(xún)的一部分送到復(fù)制服務(wù)器來(lái)達(dá)到。當(dāng)然,這只在非更新查詢(xún)?yōu)橹鲿r(shí)有用,但是這正是一般的情形。
一方面復(fù)制計(jì)劃在不久的未來(lái)實(shí)現(xiàn)。這將被實(shí)現(xiàn),使得從服務(wù)器將以較低優(yōu)先級(jí)的更新和延遲插入被同步到最新數(shù)據(jù)(這將給讀者以比寫(xiě)者更高的優(yōu)先級(jí))。
MySQL(至今)沒(méi)有數(shù)據(jù)庫(kù)復(fù)制,但是有一些如何實(shí)現(xiàn)的信息。
復(fù)制一個(gè)數(shù)據(jù)庫(kù)最一般的方法是使用更新日志。見(jiàn)9.2 更新日志。這要求充當(dāng)一個(gè)主數(shù)據(jù)庫(kù)(進(jìn)行數(shù)據(jù)改變的)并且另一個(gè)或多個(gè)充當(dāng)從數(shù)據(jù)庫(kù)。要更新一個(gè)從數(shù)據(jù)庫(kù),只要運(yùn)行mysql mysqldump –tab=/path/to/some/dir –opt –full
你也可以簡(jiǎn)單地拷貝所有的表文件(“*.frm”、“*.MYD”和“*.MYI”文件),只要服務(wù)器不在更新任何消知東西。
停止mysqld如果它正在運(yùn)行,然后以–log-update選項(xiàng)啟動(dòng)它。你將得到一個(gè)名為“hostname.n”形式的日志文件, 這里n是隨著你每次執(zhí)行mysqladmin refresh或mysqladmin flush-logs、FLUSH LOGS語(yǔ)句、或重啟服務(wù)器而遞增的一個(gè)數(shù)此遲字。這些日志文件向你提供了在你執(zhí)行mysqldump處后面進(jìn)行的復(fù)制數(shù)據(jù)庫(kù)改變的所需信息。
如果你必須恢復(fù)一些東西,嘗試首先用myisamchk -r恢復(fù)你的表。這應(yīng)該處理所有情況的99.9%。如果myisamchk失敗,嘗試下列過(guò)程:
恢復(fù)原來(lái)的mysqldump備份。
執(zhí)行下列命令以再次運(yùn)行更新日志中的更改:
shell> ls -1 -t -r hostname.* | xargs cat | mysql
ls被用來(lái)以正確的順序得到所有的日志文件。
你也可以與SELECT * INTO OUTFILE ‘file_name’ FROM tbl_name做有選擇的備份并且用LOAD DATA INFILE ‘file_name’ REPLACE …恢復(fù)。為了避免重復(fù)記錄,在表中你需要一個(gè)PRIMARY KEY或UNIQUE鍵。當(dāng)在唯一鍵值上一個(gè)新記錄與一個(gè)老記錄重復(fù)時(shí),REPLACE關(guān)鍵詞使得老記錄用一個(gè)新記錄替代。
caching_sha2_password認(rèn)證插件提供更多的密碼加密方式,并且在加密方面具有更好的表現(xiàn),目前MySQL 8.0選用caching_sha2_password作為默認(rèn)的認(rèn)證插件,MySQL 5.7的認(rèn)證插件是MySQL_native_password。如果客戶(hù)端版本過(guò)低,會(huì)造成無(wú)法識(shí)別MySQL 8.0的加密認(rèn)證方式,最終導(dǎo)致連接問(wèn)題。
MySQL存儲(chǔ)引擎現(xiàn)在負(fù)責(zé)提供自己的分區(qū)處理程序,而MySQL服務(wù)器不再提供通用分區(qū)支持,InnoDB和NDB是唯一提供MySQL 8.0支持的本地分區(qū)處理程序的存儲(chǔ)引擎。 如果分區(qū)表用的是別的存儲(chǔ)引擎,存儲(chǔ)引擎必須進(jìn)行修改。要么將其轉(zhuǎn)換為InnoDB或NDB,要么刪除其分區(qū)。通過(guò)MySQLdump從5.7獲取的備份文件,在導(dǎo)入到8.0環(huán)境前,需要確保創(chuàng)建分區(qū)表語(yǔ)句中指定的存儲(chǔ)引擎必須支持分區(qū),否則會(huì)報(bào)錯(cuò)。
MySQL 8.0的默認(rèn)字符集utf8mb4,可能會(huì)導(dǎo)致之前數(shù)據(jù)的字符集跟新建對(duì)象的字符集不一致,為了避免新舊對(duì)象字符集不一致的情況,可以在配置文件將字符集和校驗(yàn)規(guī)則設(shè)置為舊版本的字符集和校驗(yàn)規(guī)則。
MySQL 8.0啟動(dòng)使用的lower_case_table_names值必須跟初始化時(shí)使用的一致。使用不同的設(shè)置重新啟動(dòng)服務(wù)器會(huì)引入與標(biāo)識(shí)符的排序和比較方式不一致的問(wèn)題。
要避免MySQL 8.0上的啟動(dòng)失敗,MySQL配置文件中的sql_mode系統(tǒng)變量不能包含NO_AUTO_CREATE_USER。返碰
從MySQL 5.7.24和MySQL 8.0.13開(kāi)始,MySQLdump從存儲(chǔ)程序定義中刪除了NO_AUTO_CREATE_USER。必須手動(dòng)修改使用早期版本的MySQLdump創(chuàng)建的轉(zhuǎn)儲(chǔ)文件,以刪除NO_AUTO_CREATE_USER。
在MySQL 8.0.11中,刪除了這些不推薦使用的兼容性SQL Mode:DB2,MAXDB,MSSQL,MySQL323,MySQL40,ORACLE,POSTGRESQL,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS。從5.7到8.0的復(fù)制場(chǎng)景中,如果語(yǔ)句使用到廢棄的SQL Mode會(huì)導(dǎo)致復(fù)制異常。
在執(zhí)漏檔談行到MySQL 8.0.3或更高版本的in-place升級(jí)時(shí),BACKUP_ADMIN權(quán)限自動(dòng)授予具有RELOAD權(quán)限的用戶(hù)。
本文對(duì)MySQL 5.7到MySQL 8.0的升級(jí)過(guò)程中出現(xiàn)部分易出現(xiàn)問(wèn)題進(jìn)行整理:升級(jí)對(duì)MySQL版本的要求、升級(jí)都做了哪些內(nèi)容、數(shù)據(jù)庫(kù)升級(jí)做了哪些步驟以及注意事項(xiàng),希望對(duì)大家版本升級(jí)有蠢迅幫助。
MySQL數(shù)據(jù)庫(kù)遷移
MySQL數(shù)據(jù)庫(kù)遷移(數(shù)據(jù)文件直接遷移)
在今年10月下旬的時(shí)候,公司的服務(wù)器需要遷移,其中涉及到了MySQL數(shù)據(jù)庫(kù)遷移。查看了一下MySQL數(shù)據(jù)文件的大小,接近60G的大小(實(shí)際數(shù)據(jù)并沒(méi)用那么多)。由于服務(wù)器上業(yè)務(wù)需要,含伍賀要盡量減少服務(wù)器遷移時(shí)的損失談派。所以遷移時(shí)間選在了晚上零點(diǎn)開(kāi)始,而且要盡量減少遷移所用的時(shí)間。
在遷移之前有三種方案:
數(shù)據(jù)庫(kù)直接導(dǎo)出,拷貝文件到新服務(wù)器,在新服務(wù)器上導(dǎo)入。
使用【MySQL GUI Tools】中的 MySQLMigrationTool。
數(shù)據(jù)文件和庫(kù)表結(jié)構(gòu)文件直接拷貝到新服務(wù)器,掛載到同樣配置的MySQL服務(wù)下。
我在我的電腦上用虛擬機(jī)測(cè)試后,選中了占用時(shí)間最少的第三種方案。下面是三種方案的對(duì)比:
之一種方案的優(yōu)點(diǎn):會(huì)重建數(shù)據(jù)文件,減少數(shù)據(jù)文件的占用空間。
之一種方案的缺點(diǎn):時(shí)間占用長(zhǎng)。(導(dǎo)入導(dǎo)出都需要很長(zhǎng)的時(shí)間,并且導(dǎo)出后的文件還要經(jīng)過(guò)網(wǎng)絡(luò)傳輸,也要占用一定的時(shí)間。)
第二種方案的優(yōu)點(diǎn):設(shè)置完成后傳輸無(wú)人值守
第二種方案的缺點(diǎn):
設(shè)置繁瑣。
傳輸中網(wǎng)絡(luò)出現(xiàn)異常,不能及時(shí)的被發(fā)現(xiàn),并且會(huì)一直停留在數(shù)據(jù)傳輸?shù)臓顟B(tài)不能被停止,如不仔細(xì)觀察不會(huì)被發(fā)現(xiàn)異常。
傳輸相對(duì)其他fang時(shí)間長(zhǎng)。
異常后很難從異常的位置繼續(xù)傳輸。
第三種方案的優(yōu)點(diǎn):時(shí)間占用短,文件可斷點(diǎn)傳輸。操作步驟少。(絕大部分時(shí)間都是在文件的網(wǎng)絡(luò)傳輸)
第三種方案的缺點(diǎn):可能引起未知問(wèn)題,暫時(shí)未發(fā)現(xiàn)。
下面介紹一下第三種方案d遷移步驟:
保證Mysql版本一致,安裝配置基本一致(注意:這里的數(shù)據(jù)文件和庫(kù)表結(jié)構(gòu)文件都指定在同一目錄data下)
停止兩邊的Mysql服務(wù)(A服務(wù)器–遷移–>B服務(wù)器)
刪除B服務(wù)器Mysql的data目錄下所有文件
拷貝A服務(wù)器Mysql的data目錄下除了ib_logfile和.err之外的文件到B服務(wù)器data下
啟動(dòng)B服務(wù)器的Mysql服務(wù),檢測(cè)是否發(fā)生異常
遷移完成后,服務(wù)啟動(dòng)正常,未發(fā)現(xiàn)其他異常問(wèn)題。
備注:經(jīng)測(cè)試,源mysql的安裝目錄及數(shù)據(jù)文件目錄 可以與 目標(biāo)Mysql的安裝目錄及數(shù)據(jù)文件目錄 不一致。
此時(shí),只需要拷貝您所需移動(dòng)橘喊的dbname(如上:pa、testdb)及’mysql’和’ibdata1’,即可。
數(shù)據(jù)庫(kù)的數(shù)據(jù)加載進(jìn)去,正在使用是不能夠移出來(lái)的..
你隱橘圓把數(shù)據(jù)整理好之后要把數(shù)據(jù)庫(kù)進(jìn)行分離出伍悄來(lái),然后才可以拷貝到其他移動(dòng)磁盤(pán)上
不然,它會(huì)提示出磁盤(pán)受保護(hù)或者文件正在使用…先要把數(shù)據(jù)庫(kù)分離在備份。
分離操作:
1.找到你需灶塌要備份的數(shù)據(jù)庫(kù)
2.單擊右鍵的所有任務(wù)
數(shù)據(jù)庫(kù)的轉(zhuǎn)移方法的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫(kù)的轉(zhuǎn)移方法,數(shù)據(jù)庫(kù)轉(zhuǎn)移該如何操作?,利用SQLyogEnt對(duì)Mysql數(shù)據(jù)庫(kù)進(jìn)行轉(zhuǎn)移教程,如何遷移MySQL數(shù)據(jù)庫(kù)的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開(kāi)發(fā)制作等網(wǎng)站服務(wù)。
文章標(biāo)題:數(shù)據(jù)庫(kù)轉(zhuǎn)移該如何操作?(數(shù)據(jù)庫(kù)的轉(zhuǎn)移方法)
文章網(wǎng)址:http://m.fisionsoft.com.cn/article/djoghec.html


咨詢(xún)
建站咨詢(xún)
