前段時間伺服器上的資料庫在分區沒做好,擔心以後mysql資料量太大,是以準備更換mysql安裝目錄,網上查了下資料,多是轉載文章,好多沒有實測,因為要用在生産環境中,是以我經過在虛拟機上測試成功,總結了點東西。分享出來希望對大家有幫助。大家都知道Mysql 預設的資料檔案存儲目錄為/var/lib/mysql。而我們要把目錄移動到/home/data下需要進行下面幾步:
1.在home目錄下建立data目錄
Suse#cd home
suse:/home #mkdir data
關閉mysql服務程序
Suse#mysqladmin –u root –p shutdown
2.複制mysql 目錄
Suse#cd /var/lib
#cp -a mysql /home/data/
//個人認為此處用複制較好,網上好多文檔都用mv指令,在實測過時,使用mv沒有成功。如果不是在生産環境下大家可以試一試。
3.修改my.cnf配置檔案
一般安裝的時候,在/etc/目錄下會有my.cnf這個檔案,如果沒有這個檔案到/usr/share/mysql下找到*.cnf檔案。拷貝其中的一個到
4./etc目錄下,并修改名字為my.cnf.
Suse# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
編輯my.cnf檔案 suse#vi /etc/my.cnf,找到21行和28行,将原來一行的檔案删除或者通過“#”注釋掉,改為現在的:
socket = /home/data/mysql/mysql.sock
5.修改mysql 啟動腳本/etc/init.d/mysql
Suse#vi /etc/init.d/mysql
或者删除或者注釋後添加一行
datadir=/home/data/mysql
6.重新啟動mysql服務
Suse#/etc/init.d/mysql start,
或者suse#service mysql start
7.測試
suse:~ # mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 5.0.22-standard-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
結束語:
如果第一次更改目錄後失敗,不用擔心。仔細檢查剛才的配置,如果沒問題,就時光倒流一次,把剛才修改的配置檔案恢複為預設的配置,把/home/data删除,重新啟動一次mysql服務。如果成功,則繼續按照上面步驟做一次,隻要步驟正确,肯定會成功。
此實驗全部是在SUSE 11 企業版上操作,如果是其他版本可能會有不同。