標籤:架構 資料庫 儲存 centos mysql
原文:http://www.cnit618.com/html/fwdkf/data/2111.htm
linux下,MySQL預設的資料文檔儲存目錄為/var/lib/mysql。假如要把MySQL目錄移到/home/data下需要進行下面幾步:
1、home目錄下建立data目錄
cd /home
mkdir data
2、把MySQL服務進程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整個目錄移到/home/data
mv /var/lib/mysql /home/data/
這樣就把MySQL的資料文檔移動到了/home/data/mysql下
4、找到my.cnf配置文檔
假如/etc/目錄下沒有my.cnf配置文檔,請到/usr/share/mysql/下找到*.cnf文檔,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:
[[email protected] mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、編輯MySQL的配置文檔/etc/my.cnf
為確保MySQL能夠正常工作,需要指明mysql.sock文檔的產生位置。修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具編輯my.cnf文檔,找到下列資料修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用“#”注釋此行)
socket = /home/data/mysql/mysql.sock (加上此行)
6、修改MySQL啟動指令碼/etc/init.d/mysql
最後,需要修改MySQL啟動指令碼/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成您現在的實際存放路徑:home/data/mysql。
[[email protected] etc]# vi /etc/init.d/mysql
#datadir=/var/lib/mysql (注釋此行)
datadir=/home/data/mysql (加上此行)
如果是CentOS還要改 /usr/bin/mysqld_safe 相關檔案位置;
最後 做一個mysql.sock 連結:
ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
7、重新啟動MySQL服務
/etc/init.d/mysql start
或用reboot命令重啟Linux
假如工作正常移動就成功了,否則對照前面的7步再檢查一下。還要注意目錄的屬主和許可權。
複製內容到剪貼簿
代碼:
[[email protected] ~]# chown -R mysql:mysql /home/data/mysql/ ← 改變資料庫的歸屬為mysql
[[email protected] ~]# chmod 700 /home/data/mysql/test/ ← 改變資料庫目錄屬性為700
[[email protected] ~]# chmod 660 /home/data/mysql/test/* ← 改變資料庫中資料的屬性為660