本文目錄一覽:
- 1、mysql數據庫遷移,有什麼工具或許辦法
- 2、如何遷移MySQL數據庫
- 3、搬遷MYSQL數據庫的幾種方法介紹
- 4、centos 7.2 遷移 mysql 數據庫文件
- 5、mysql有沒有好的據庫之間數據轉移的方法或思路呢?
mysql數據庫遷移,有什麼工具或許辦法
可以用Mysql-front,先導出member的Excel文件,然後把user表也導出Excel,把第一個表的列拷貝到第二個Excel里,然後再把Excel文件導入到user表裡。
自己寫腳本遷移過去,where條件是member和user的對應關係(這裡假定member和user對應關係使用name對應的)
update user,member set user.price=member.money,user.truename=member.nickname where user.name=member.name
如何遷移MySQL數據庫
MySQL數據庫遷移
MySQL數據庫遷移(數據文件直接遷移)
在今年10月下旬的時候,公司的服務器需要遷移,其中涉及到了MySQL數據庫遷移。查看了一下MySQL數據文件的大小,接近60G的大小(實際數據並沒用那麼多)。由於服務器上業務需要,要盡量減少服務器遷移時的損失。所以遷移時間選在了晚上零點開始,而且要盡量減少遷移所用的時間。
在遷移之前有三種方案:
數據庫直接導出,拷貝文件到新服務器,在新服務器上導入。
使用【MySQL
GUI
Tools】中的
MySQLMigrationTool。
數據文件和庫表結構文件直接拷貝到新服務器,掛載到同樣配置的MySQL服務下。
我在我的電腦上用虛擬機測試後,選中了佔用時間最少的第三種方案。下面是三種方案的對比:
第一種方案的優點:會重建數據文件,減少數據文件的佔用空間。
第一種方案的缺點:時間佔用長。(導入導出都需要很長的時間,並且導出後的文件還要經過網絡傳輸,也要佔用一定的時間。)
第二種方案的優點:設置完成後傳輸無人值守
第二種方案的缺點:
設置繁瑣。
傳輸中網絡出現異常,不能及時的被發現,並且會一直停留在數據傳輸的狀態不能被停止,如不仔細觀察不會被發現異常。
傳輸相對其他fang時間長。
異常後很難從異常的位置繼續傳輸。
第三種方案的優點:時間佔用短,文件可斷點傳輸。操作步驟少。(絕大部分時間都是在文件的網絡傳輸)
第三種方案的缺點:可能引起未知問題,暫時未發現。
下面介紹一下第三種方案d遷移步驟:
保證Mysql版本一致,安裝配置基本一致(注意:這裡的數據文件和庫表結構文件都指定在同一目錄data下)
停止兩邊的Mysql服務(A服務器–遷移–B服務器)
刪除B服務器Mysql的data目錄下所有文件
拷貝A服務器Mysql的data目錄下除了ib_logfile和.err之外的文件到B服務器data下
啟動B服務器的Mysql服務,檢測是否發生異常
遷移完成後,服務啟動正常,未發現其他異常問題。
備註:經測試,源mysql的安裝目錄及數據文件目錄
可以與
目標Mysql的安裝目錄及數據文件目錄
不一致。
此時,只需要拷貝您所需移動的dbname(如上:pa、testdb)及’mysql’和’ibdata1’,即可。
搬遷MYSQL數據庫的幾種方法介紹
在網站搬遷的過程中,最重要也是最麻煩的就是數據庫了,數據庫文件一旦丟失而備份又不靈光時,網站會面臨滅頂之災。那麼搬遷數據庫有些什麼辦法呢?現在一起來探討。 通過phpmyadmin備份由於mysql數據庫是通過phpmyadmin在進行管理,因此用phpmyadmin進行備份也是順理成章。但通過phpmyadmin導出的備份文件還只能通過phpmyadmin軟件還原回去,而且這個軟件默認只允許還原小於2M的備份來源。因此如果網站數據少,小於2M可以直接備份還原;數據較多備份文件過大時,有兩種方法解決:第一種是分段備份,在phpmyadmin的備份選項中設置為每個備份文件大小不超過2M,第二種是在還原空間的phpmyadmin中修改軟件源文件進行設置,改為對還原文件沒有大小限制,相應的方法可以在網上搜索。應該說此種備份方法相對麻煩,且需要自己購有服務器或vps,否則根本沒有相關權限,一般情況下不建議選擇。 通過網站程序自帶功能進行備份還原現在使用到mysql數據庫的網站程序有DZ,PW,DEDE等,這些程序後台都有備份還原功能,因為是自帶的功能,兼容性好,方便快捷。不過有一個問題是要先重新安裝網站程序,再進入後台選擇還原已經保存的備份文件進行還原,目前所有的主流程序都提倡這種方法。 通過備份王等軟件進行備份用備份王等軟件進行備份方便快捷,只要上傳備份軟件到空間按提示一步步操作就可以了。但是要注意新老空間數據庫用戶名和密碼不統一,網站文件打包過來後因沒有修改連接文件,還原數據庫是好了,可是前台會提示數據庫連接錯誤,網站從而出現打不開的情況。所以要學會修改網站配置文件,大多是由config和data.php文件來控制,將這些文件中的連接信息設置為正確的連接信息,避免網站不能打開。 直接在mysql文件夾中複製文件如果是獨立服務器,可以直接進入服務器mysql文件夾下的DATA文件夾找到數據庫文件複製後再粘貼到新空間。但這樣有個很大的隱患:備份的目標數據庫如果正在被使用,粘貼到新空間後會出錯。不提倡這種方法。
centos 7.2 遷移 mysql 數據庫文件
原目錄:/var/lib/mysql
新目錄:/data/mysql
1.將/smp/mysql/mysql.sock文件複製到/data/db/mysql.sock,並停止運行mysql(注意,需將
mysql.sock文件複製後,才能停止mysql)
/smp/mysql/bin/mysqladmin -uroot -p shutdown
2.data目錄遷移
cp -a /var/lib/mysql/* /data/mysql
3.修改/etc/my.cnf
socket=/data/db/mysql.sock(注意將原來的socket文件注釋掉,方便回滾)
datadir=/data/db/data
4.建立軟鏈接
ln -s /data/db/mysql.sock /var/lib/mysql/mysql.sock
mysql有沒有好的據庫之間數據轉移的方法或思路呢?
gh-ost 是 GitHub 發布的一款用於 MySQL 的無觸發器在線模式遷移解決方案。它是可測試的,並提供暫停,動態控制/重新配置,審計和許多操作特權。它在整個遷移過程中,對主服務器產生的工作量很少,與已遷移表上的現有工作分離。
gh-ost與所有現有的在線模式更改工具都以類似的方式操作:它們以與原始表相似的方式創建幽靈表,將數據從原始表緩慢且增量地複製到幽靈表,同時應用正在進行的更改(INSERT,DELETE,UPDATE)到幽靈表。最後,在適當的時候,它用幽靈表替換了原始表。gh-ost使用相同的模式。但是,它與所有現有工具的不同之處在於不使用觸發器。取而代之的是,gh-ost使用二進制日誌流捕獲表的更改,然後將其異步應用到幽靈表。
gh-ost 承擔一些其他工具留給數據庫執行的任務。gh-ost 可以更好地控制遷移過程;可以真正暫停它;可以真正將遷移的寫入負載與主服務器的工作負載分離。此外,它還提供了許多可操作的特權,使其更安全、可信賴且易於使用。
原創文章,作者:LLVUC,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/315618.html