1. 程式人生 > >CentOS Linux更改MySQL資料庫目錄位置

CentOS Linux更改MySQL資料庫目錄位置

引言:
由於MySQL的資料庫太大,預設安裝的/var盤已經再也無法容納新增加的資料,沒有辦法,只能想辦法轉移資料的目錄。
下面我整理一下把MySQL從/var/lib/mysql目錄下面轉移到/home/mysql_data/mysql目錄的具體操作:
1、首先我們需要關閉MySQL,命令如下:
   service mysqld stop
2、然後是轉移資料,為了安全期間,我們採用複製命令cp,先找到mysql的原目錄
   cd /var/lib
   ls
   執行這個命令之後就會看到mysql的目錄了,然後執行cp命令
   cp -a mysql    /home/mysql_data/      #這樣就把資料庫複製到/home/mysql_data下面去了

  
注意:(-a這個引數一定要帶著,否則複製過去的許可權就不對了。)
  
如果資料庫比較大的話,時間會比較長,可能會超時,具體怎麼設定ssh不超時的辦法,請大家自己找相關資料。
3、然後我們修改配置檔案,一共有三個,下面我一一說明:
     修改第一個檔案:修改之前先備份cp  /etc/my.cnf    /etc/my.cnfbak
     vi /etc/my.cnf
     開啟之後修改datadir的目錄為/home/mysql_data/mysql
     把socket改成/home/mysql_data/mysql/mysql.sock      #為了安全起見,你可以把原來的註釋掉,然後重新加入一行,改成現在的目錄。


==================================================================================
   修改第二個檔案:修改之前先備份 cp /etc/init.d/mysqld    /etc/init.d/mysqldbak
   vi /etc/init.d/mysqld
   注意:準確的位置是/etc/rc.d/init.d/mysqld,由於這裡這裡有一個/etc/init.d到/etc/rc.d/init.d的對映,
   所以用上面的命令即可,也簡單。
   把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:/home/mysql_data/mysql

=================================================================================
   修改第三個檔案:修改之前先備份 cp /usr/bin/mysqld_safe    /usr/bin/mysqld_safebak
   vi /usr/bin/mysqld_safe
   這裡也是修改datadir的目錄為/home/mysql_data/mysql
==================================================================================
4、下面需要建立一個mysql.sock的連結:
   ln -s /home/mysql_data/mysql/mysql.sock    /var/lib/mysql/mysql.sock

   
   至此所有的修改都完成了,下面啟動mysql
   service mysqld start
   或者重啟linux
   reboot
   如果能正常啟動,說明修改成功。