linux mysql資料庫遷移
由於資料的日漸增多,導致伺服器系統盤的容量總被佔滿,從而使mysql服務掛掉。
停止mysql服務
service mysqld stop
複製資料庫到新目錄
進入mysql 使用show variables like 'datadir' 檢視datadir原指向路徑
在新的位置新建一個目錄,用於存放mysql資料庫
例如:
mkdir /data0/mysqldata
將原有資料庫複製到新建的目錄下,此過程需要稍等一會。
cp -rf /var/lib/mysql /data0/mysqldata/
修改mysql的配置檔案 my.cnf,位置一般為 /etc/my.cnf ,修改之前建議先備份。
cp /etc/my.cnf /etc/my.cnf.bak
vim /etc/my.cnf
如果開啟my.cnf 為空,說明位置不對。使用 find / -name my.cnf 查詢my.cnf的位置。
find / -name my.cnf
開啟my.cnf 修改 datadir、socket 路徑,其中datadir為轉移的目的路徑
修改mysql啟動指令碼 /etc/init.d/mysqld
datadir=/var/lib/mysql 修改為 datadir=/data0/mysqldata/mysql
修改/usr/bin/mysqld_safe
vim /usr/bin/mysqld_safe
DATADIR=/var/lib/mysql 修改為:DATADIR=/data0/mysqldata/mysql
建立軟連線
ln -s /data0/mysqldata/mysql/mysql.sock /var/lib/mysql/mysql.sock
修改新建目錄的許可權歸屬為mysql
chown -R mysql:mysql /data0/mysqldata/mysql/
然後查詢mysql的datadir位置
ok
重啟mysql服務
service mysqld start