mysql修改資料庫檔案儲存位置

來源:互聯網
上載者:User

標籤:ice   目錄   exit   disable   system   重啟   mysql   data   detail   

在centOS7中,mysql資料庫檔案預設放在/var/lib,有時候這個分區比較小,需要將其遷移到比較大的分區,方法如下

1、停掉mysql服務,將/var/lib/mysql目錄複寫到新的目錄中,例如/home/mysql
cp -R /var/lib/mysql /home/

2、修改/etc/my.conf,找到如下兩行:

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
改成
datadir=/home/mysql
socket=/home/mysql/mysql.sock

3、這個時候如果重啟mysql服務會報錯:
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

在安裝mysql時建立了一個mysql使用者和mysql使用者組,隱藏檔的目錄/var/lib/mysql就是資料這個mysql使用者的,而遷移過去後,/home/mysql屬於root使用者和root使用者組(這取決於用什麼賬戶登入centOS。就本例來說只可能屬於root使用者,因為一般使用者沒有許可權在/home中進行寫操作),mysql肯定沒許可權操作屬於root的檔案,所以就報錯。
修改/home/mysql目錄以及下面所有檔案的屬性,讓它們屬於mysql使用者

chown -R mysql:mysql \home\mysql

4、完成以上步驟後仍然不能啟動mysql服務,原因是selinux的限制,把它關掉,修改/etc/selinux/config檔案:
SELINUX=disabled

最後重啟mysql服務

mysql修改資料庫檔案儲存位置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.