在linux下預設的Mysql資料庫存儲的路徑為:var/lib/mysql
假如你要把目錄遷移到/data/mysqldata 下需要進行以下配置:
1.要把與Mysql資料庫有關的服務停掉,禁止通路Mysql
2.要把你的Mysql用mysqldump 這個指令備份
3.建立所要遷移的目錄或是路徑
如:
#dir –p/data/mysqldata
4. 止mysql服務
#etc/init.d/mysqldstop或是用service mysqld stop
5. /var/lib/mysql整個目錄移到/data/mysqldata下
這裡我用cp以備出問題當然用mv也可以,
#cp –arp /var/lib/mysql/data/mysqldata/
這樣隻是把目錄和檔案移過去了,此時mysql控制檔案還不知道它自己的資料庫已經換了個位置。
6. 需要配置控制檔案:
一般vi/etc/my.cnf 如果你vi後發現沒有東西呀是在這個目錄下就沒有這個檔案你可以去/usr/share/mysql/目錄下找到一個my-medium.cnf 檔案,如果還是沒有你可以用find 指令去查找。這裡就不詳細說了。(find / -name *.cnf 或find / -name my.cnf)。接下來我們要編輯/etc/my.cnf為了保證mysql能正常工作我們需要指明mysql.sock檔案産生的位址。
#vi /etc/my.cnf
将#ocket =/var/lib/mysql/mysql.sock注釋掉在下面加下一行
socket =/data/mysqldata/mysql/mysql.sock
注:有些環境不一樣,是以你最好檢視一下,把指名的/var/lib/mysql/ 這個路徑下的檔案都換成/data/mysqldata/mysql 即可
7. 還有一個就是啟動腳本的配置
#vi/etc/init.d/mysqld
和上面配置my.cnf是一個道理:
把#atadir=/var/lib/mysql給注釋掉再他的下面添加
datadir=/data/mysqldata/mysql
當然你也要檢查一下看看還有别的是指在了/var/lib/mysql 都給他改成/data/mysqldata/mysql
這一步改完了還有一步要注意:
用#ln –s /data/mysqldata/mysql/mysql.sock/var/lib/mysql/mysql.sock指令來連結一下。
如果你前面把mysql的目錄是mv到你所要更改的目錄的話,這時你的/var/lib/mysql/ 是沒有mysql.sock檔案的,是以你還得要重新cp一份過來再執行上面的指令。
注意一下:mysql 目錄及裡面的檔案的權限,我前面用到cp –arp的道理就是為了不用改權限,當然了為了安全還是要檢查的好。無論mysql的目錄在什麼地方他的權限為rwxr_xr_x這個就不多說了。如果你是用cp的話,最後記得把/var/lib/mysql這個目錄mv到别的目錄下比說/home/下
如果按照上面的話,就可以完事。