標籤:
windows:
方式一 使用符號串連
假設你的mysql安裝在c:\mysql,資料目錄就是c:\mysql\data現在你想在D 盤建立一個名為foo的資料庫,路徑為d:\data\foo.
首先:保證d:\data\foo目錄存在,如果沒有就建立或 者你c:\mysql\data下面有,就把它剪下過來,當然在停止mysql的情況下作移動,否則是不起任何作用的。 再次:在c:\mysql\data目錄下建立一個文字檔命名為foo.sym,檔案名稱與資料庫名相同,尾碼名為sym,裡面的內容為:D:\data \foo\,就是foo資料庫的絕對路徑。
linux
linux下,MySQL預設的資料文檔儲存目錄為/var/lib/mysql。假如要把MySQL目錄移到/home/data下需要進行下面幾步:
1、home目錄下建立data目錄
cd /homemkdir 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
mysql資料庫預設存放位置修改