Ubuntu下更改MySQL數據庫文件的目錄

公司的Ubuntu服 務器對於各個系統的目錄是放在不一樣的邏輯分區上的,好比存放mysql數據庫文件的默認目錄/var/lib/mysql所在的系統目錄/var/單獨在 一個分區上,可是這個分區的大小是固定的,不足以存放整個數據庫文件。可是另外一個系統目錄/data大小卻達到T級,大大知足了需求,所以有了更改數據庫 文件目錄的需求。如下是我參考網絡上一些文章進行嘗試的過程:

1.中止數據庫服務:mysql

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

2. 在目標位置(/data)建立數據庫文件的目錄(如/mysqldb),並複製(若是再也不使用默認的位置,則能夠直接mv原先數據庫文件到新目錄下)原先的數據庫文件目錄到該目錄下:sql

cd  /data數據庫

mkdir mysqldbvim

cp -r /var/lib/mysql  /data/mysqldb/服務器

通過一段時間的等待後,在/data/mysqldb/下面就有了原先默認的mysql數據庫文件目錄的拷貝「/mysql」網絡

3.修改my.cnf文件app

# vim /etc/mysql/my.cnfsocket

將datadir = /var/lib/mysql 改成 datadir = /data/mysqldb/mysqlspa

另外因爲當前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)

搞定!

linux

相關文章
相關標籤/搜索