前幾天發現由於MySQL的資料庫太大,預設安裝的/var盤已經再也無法容納新增加的數據,只能想辦法轉移數據的目錄。網上有很多相關的文章寫到轉移資料庫目錄的文章,但轉載的過程中還會有一些錯誤,因為大部分人根本就沒測試過,這篇文章是Linux中測試過整理好後分享給大家。 本文是簡單整理一下這幾天把MyS ...
前幾天發現由於MySQL的資料庫太大,預設安裝的/var盤已經再也無法容納新增加的數據,只能想辦法轉移數據的目錄。網上有很多相關的文章寫到轉移資料庫目錄的文章,但轉載的過程中還會有一些錯誤,因為大部分人根本就沒測試過,這篇文章是Linux中測試過整理好後分享給大家。
本文是簡單整理一下這幾天把MySQL從/var/lib/mysql目錄下麵轉移到/home/data/mysql下麵具體操作。
首先我們需要關閉MySQL,命令如下:
#systemctl stop mariadb.service
然後是轉移數據,為了安全期間,我們採用複製的命令cp,先找到mysql的原目錄
#cd /var/lib
然後執行cp命令
#cp -a mysql /home/data/
這樣就把資料庫複製到/home/data下麵去了,註意-a這個參數一定要帶著,否則複製過去的許可權就不對了。如果資料庫比較大的話,時間會比較長,可能會超時。
然後我們修改配置文件,下麵我一一說明:
#vi /etc/my.cnf
打開之後修改datadir的目錄為/home/data/mysql,把socket改成/home/data/mysql/mysql.sock,為了安全起見,你可以把原來的註釋掉,然後重新加入一行,改成現在的目錄。
#vi /usr/bin/mysqld_safe
這裡也是修改datadir的目錄
下麵需要建立一個mysql.sock的鏈接:#優化
#ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
至此所有的修改都完成了,下麵啟動mysql
#systemctl start mariadb.service
或者重啟Linux
#reboot
重啟後或者這樣登錄資料庫
mysql -S /home/data/mysql/mysql.sock -u root -p123456 # 大寫S
查看儲存目錄