安全的辦法是在舊環境導出表數、在新環境建立資料庫後導入表,可以使用SQL或者TXT為中間文件。
B. CentOS7下mysql資料庫的遷移
想知道你的mysql裝在哪裡嗎?CentOS7一般是裝在/var/lib/mysql中的
在完成遷移之前,先用下面的指令來停止mysqld服務
service mysqld stop,或者直接點sudo systemctl stop mysqld
然後用df-h指令看伺服器上剩餘空間是多少,假設我們新掛了一塊500G的硬碟到/data上
那麼請把mysql整個文件夾拷貝到/data中,像下面這樣:
sudo cp -rf /var/lib/mysql /data/mysql,拷完以後原來的mysql文件夾就可以刪除了
然後再修改/etc/my.cnf,這個也是需要su的:
sudo vi /etc/my.cnf
裡面有一個欄位叫[mysqld],將datadir和socket修改成這樣:
datadir=/data/mysql
socket=/data/mysql/mysql.sock
接下來,有的人說要修改/etc/init.d/mysqld,但我的伺服器不需要,直接通過
service mysqld start就可以啟動SQL服務了,遠程也可以連接上,但是:
當你使用終端mysql -u root -p的時候,就會報下面這個錯:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
這個時候,你有兩種解決辦法,一種是造一個軟連接
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock,原因是你已經刪掉之前的mysql目錄了
另外一種辦法,是在/etc/my.cnf下面新建一個新欄位:
[mysql]
socket=/data/mysql/mysql.sock
第一種方法不需要重啟mysql server,第二種方法需要重啟mysql server,
然後,你就可以成功地從終端里進入mysql了
敲黑板,不要在[mysql]下面自做主張地寫上datadir=/data/mysql,這樣會導致本地命令行登錄時報錯:Unknown Variable: datadir=/data/mysql
C. mysql有沒有好的據庫之間數據轉移的方法或思路呢
gh-ost 是 GitHub 發布的一款用於 MySQL 的無觸發器在線模式遷移解決方案。它是可測試的,並提供暫停,動態控制/重新配置,審計和許多操作特權。它在整個遷移過程中,對主伺服器產生的工作量很少,與已遷移表上的現有工作分離。
gh-ost與所有現有的在線模式更改工具都以類似的方式操作:它們以與原始表相似的方式創建幽靈表,將數據從原始表緩慢且增量地復制到幽靈表,同時應用正在進行的更改(INSERT,DELETE,UPDATE)到幽靈表。最後,在適當的時候,它用幽靈表替換了原始表。gh-ost使用相同的模式。但是,它與所有現有工具的不同之處在於不使用觸發器。取而代之的是,gh-ost使用二進制日誌流捕獲表的更改,然後將其非同步應用到幽靈表。
gh-ost 承擔一些其他工具留給資料庫執行的任務。gh-ost 可以更好地控制遷移過程;可以真正暫停它;可以真正將遷移的寫入負載與主伺服器的工作負載分離。此外,它還提供了許多可操作的特權,使其更安全、可信賴且易於使用。
D. mysql資料庫遷移伺服器,遷移包括所有資料庫(200個左右)和賬戶信息(200個左右)。一資料庫對應一賬戶。
你好,通過第二種方式導入了資料庫,沒有帳戶,其實很簡單。
你將原資料庫里,mysql 庫里的 user 表和 db 表導出過去就行了。因為所有的用戶信息都記錄在這2個表裡。
user 表記錄的是用戶帳號及密碼等,db 記錄的是用戶對應庫和許可權等。
你可以通過轉儲為.sql文件的方式,也可以直接在線遷移,甚至可以直接停止資料庫直接拷貝這幾個文件就行了。。
雖然用戶密碼是加密的,但整個過程中,根本也不需要知道用戶的密碼,直接遷移就行了。
E. 如何遷移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',即可。
F. MYSQL資料庫如何遷移
可以找到其安裝文件夾,記得你的資料庫名吧.有個文件夾中就放著你的資料庫直接復制出來拷貝到你新的資料庫就可以使用了.
G. 如何復制MySQL資料庫或表到另外一台伺服器
使用這種方法前,我們需要先下載一個MySQL客戶端工具SqlYog。點擊這里下載並安裝x0dx0ax0dx0a下面我們開始復制資料庫:x0dx0a1、打開SqlYog community Edition,分別在不同的選項卡中打開源資料庫伺服器與目標資料庫伺服器,這一點很重。x0dx0ax0dx0a在源資料庫伺服器選項卡中你將看到所有資料庫列表。x0dx0a2、在需要復制遷移的資料庫上右擊,在彈出菜單中選擇「Copy Database to Different Host/Database」x0dx0a3、在彈出對話框中,我們能看到源資料庫伺服器及目標伺服器,在左邊,通過勾選復選框來選擇需要復制遷移的對象,如表、函數、觸發器等,也可以選擇所有對象。x0dx0a4、在右邊選擇需要遷移的目標伺服器或資料庫x0dx0a5、根據你的需要選擇復制類型:「Structure and Data」或「Structure only」,即「結構和數據」或「僅結構」。x0dx0a6、選擇結束後點擊「Copy」按鈕開始復制,知道數據遷移結束。
H. 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
I. MySQL資料庫如何進行雲端遷移
直接用木浪科技的多備份,輕松實現數據的雲端遷移,操作簡單,去多備份網站注冊個賬號基本上就OK了。