當前位置:首頁 » 數據倉庫 » mysql資料庫文件轉移
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mysql資料庫文件轉移

發布時間: 2023-08-05 04:53:32

① 急:我的MYsql資料庫裝在C盤的,怎麼移到D盤啊

1、首先在桌面上雙擊打開「此電腦」軟體。

② 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

③ mysql資料庫如何轉移呢

mysql標准化的遷移工具是mysqlmp.exe、mysqlimport.exe,你運行這兩個工具,使用--help就可以知道怎麼使用了,他們用來把MYSQL資料庫轉換為文本文件,以及把文本文件導入到新的MYSQL資料庫中。事實上這個文本文件可以導入到其它非MYSQL資料庫裡面,比如INFORMIX、DB2等,需要簡單寫一下SQL語句即可。

不過,我的伺服器多次升級和遷移中測試發現,MYSQL資料庫文件是可以拷貝的,也就是二進制兼容的,包括我在FreeBSD、LINUX、WINDOWS之間遷移數據都是成功的。

④ Linux Mysql如何移動MySQL資料庫目錄位置

假如要把目錄移到/home/data下需要進行下面幾步:

1、home目錄下建立data目錄

cd /home

mkdir data

2、把MySQL服務進程停掉:

mysqladmin -u root -p shutdown

3、把/var/lib/mysql整個目錄移到/home/data

mv /var/lib/mysql/home/data/

這樣就把MySQL的數據文件移動到了/home/data/mysql下

4、找到my.cnf配置文件

如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/mysql/下找到亂神蘆*.cnf文件,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf/etc/my.cnf

5、編輯MySQL的配置文件/etc/my.cnf

為保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置。修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock 。操作如下:

vi my.cnf (用vi工具編輯my.cnf文件,找到下列數據修改之)

# The MySQL server

[mysqld]

port= 3306

#socket = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用「#」注釋此行)

socket = /home/data/mysql/mysql.sock(加上此行)

6、修改MySQL啟動腳本/etc/init.d/mysql

最後,需要修改MySQL啟動腳本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。

[root@test1 etc]# vi/etc/init.d/mysql

#datadir=/var/lib/mysql瞎源(注釋此行)

datadir=/home/data/mysql (加上此行)

7、重新啟動MySQL服務

/etc/init.d/mysqlstart

或用reboot命令重啟Linux

如果工作正常移動就成功了,否則對照前面的7步再檢查一下。還要注意嘩帶目錄的屬主和許可權。

⑤ mysql把一個資料庫中的數據復制到另一個資料庫中的表 2個表結構相同

1、使用軟體Navicat就可遷移復制資料庫,打開Navicat,右鍵點擊左邊空白的地方,點擊New Connection下的MySQL,創建一個伺服器的連接,下面將演示把本地的數據遷移到伺服器:

⑥ 如何遷移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資料庫遷移到另一台Linux伺服器

1、用mp命令備份資料庫。
# mysqlmp -u root -p dbfile > dbfile.sql
2、用rsync從新伺服器獲得備份的文件(SCP或WGET也可以)。
# rsync -avr root@myolddbserver:/home/mympfolder/dbfile.sql
3、登陸新伺服器的mysql客戶端。
# mysql -u root -p
4. 建立資料庫。
mysql> create database dbfile;
5. 選擇新資料庫;
mysql> use dbfile;
6. 載入數據;
mysql> source dbfile.sql

或者
在Mysql程序中有我自己的一個資料庫共5張表,里邊數據不算太多。我現在想把他們全部弄到另一台電腦中去,該怎麼弄,如果不用其它的軟體工具,只用Mysql自已的程序不知可否?
註:不用考慮操作系統。
---------------------------------------------------------------

在dos命令提示符下使用mysqlmp命令進行備份.
如下:
C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot
-p12142022
說明:yinshi是我的資料庫名,裡面有5張表; c:\\backup.txt 是我備份出來文件名和路徑;

-u,-p參數後面跟的分別是用戶名和密碼.
將你備份出來的文件我這里是backup.txt拷貝到另一台機上,再在dos命令提示符下用mysql命令,進行恢復,如下:
C:\Documents and Settings\Administrator>mysql < c:\\backup.txt -uroot -p12142022
or
mysql>source backup.txt;(這里backup.txt在放在data目錄下)

---------------------------------------------------------------

如果另一台機器上也安裝了mysql,可以直接導入

C:\mysql\bin>mysqlmp -h172.20.6.250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename

172.20.6.250源伺服器ip
developer源伺服器連接用戶名
---------------------------------------------------------------

有兩種辦法。
1、在B機器上裝mysql。
將A機器上的mysql/data下的你的資料庫目錄整個拷貝下來。
將B機器上的mysql服務停止。
找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。
2、使用SQL語句備份和恢復
你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢復數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。
語法:
SELECT * INTO {OUTFILE | DUMPFILE} 』file_name』 FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 』file_name.txt』 [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE 』file_name』