1. 程式人生 > 資料庫 >Ubuntu中更改MySQL資料庫檔案目錄的方法

Ubuntu中更改MySQL資料庫檔案目錄的方法

前言

公司的Ubuntu伺服器對於各個系統的目錄是放在不同的邏輯分割槽上的,比如存放mysql資料庫檔案的預設目錄/var/lib/mysql所在的系統目錄/var/單獨在一個分割槽上,但是這個分割槽的大小是固定的,不足以存放整個資料庫檔案。但是另一個系統目錄/data大小卻達到T級,大大滿足了需求,因此有了更改資料庫檔案目錄的需求。

以下是我參考網路上一些文章進行嘗試的過程:

1.停止資料庫服務:

使用/etc/init.d/mysql stop 或者 stop mysql

2. 在目標位置(/data)建立資料庫檔案的目錄(如/mysqldb),並複製(如果不再使用預設的位置,則可以直接mv原先資料庫檔案到新目錄下)原先的資料庫檔案目錄到該目錄下:

cd /data

mkdir mysqldb

cp -r /var/lib/mysql /data/mysqldb/

經過一段時間的等待後,在/data/mysqldb/下面就有了原先預設的mysql資料庫檔案目錄的拷貝“/mysql”

3.修改my.cnf檔案

# vim /etc/mysql/my.cnf

datadir = /var/lib/mysql 改為 datadir = /data/mysqldb/mysql

另外由於當前my.cnf 中的socket = /var/run/mysqld/mysqld.sock(而並非像網上所說的sock = /var/lib/mysql/mysql.sock),即socket的位置並不在資料庫檔案所在的位置,因此可以不做類似網上其他網頁所說的,要使用以下的命令做一個mysql.sock 連結:

ln -s /data/mysqldb/mysql/mysql.sock /var/lib/mysql/mysql.sock (需要從/home/data/mysql下複製一份過來)

4. 修改資料庫的許可權:

# chown -R mysql:mysql /data/mysqldb/mysql/  ← 改變資料庫檔案目錄的歸屬為mysql

# chmod 700 /data/mysqldb/mysql/whois/  ← 改變資料庫目錄whois的屬性為700

# chmod 660 /data/mysqldb/mysql/whois/*  ← 改變資料庫中資料表的屬性為660

5. 修改檔案usr.sbin.mysqld

# vim /etc/apparmor.d/usr.sbin.mysqld

/var/lib/mysql r,/var/lib/mysql/** rwk,

改成

/data/mysqldb/mysql/ r,/data/mysqldb/mysql/** rwk,

注意:沒有該步驟的話,將導致資料庫服務無法重啟,好像在重啟,但是一直卡住無反應。

6.啟動mysql伺服器

/etc/init.d/apparmor restart

/etc/init.d/mysql restart (或者使用 restart mysql)

搞定!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對我們的支援。