Windows系統: 把MySQL裝在了C:Program FilesMySQLMySQL Server 5.0,默認的數據庫文件是放在C:Program FilesMySQLMySQL Server 5.0data下。 但現在在D盤下做項目,因此一個數據庫就放在了D盤,路經是這樣的:D:eclipseworkspacepro1libdb。 找到了my.ini的配置文件中的: datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/" 將其修改成:datadir="D:/eclipse/workspace /pro1/lib/db/" BUT我重啟的時候,MySQL服務啟動不了了。而且用MySQL-Front連接的時候提示: 主機127.0.0.1找不到。 答: 使用符號鏈接吧,下面是mysql 5.0手冊上的例子。 Suppose that the MySQL data directory is C:mysqldata and you want to have database foo located at D:datafoo. Set up a symlink using this procedure Make sure that the D:datafoo directory exists by creating it if necessary. If you already have a database directory named foo in the data directory, you should move it to D:data. Otherwise, the symbolic link will be ineffective. To avoid problems, make sure that the server is not running when you move the database directory. Create a text file C:mysqldatafoo.sym that contains the pathname D:datafoo. After this, all tables created in the database foo are created in D:datafoo. Note that the symbolic link is not used if a directory with the same name as the database exists in the MySQL data directory. 假設你的mysql安裝在c:mysql,數據目錄就是c:mysqldata,現在你想在D 盤建立一個名為foo的數據庫,路徑為d:datafoo. 首先:保證d:datafoo目錄存在,如果沒有就創建或 者你c:mysqldata下面有,就把它剪切過來,當然在停止mysql的情況下作移動,否則是不起任何作用的。 再次: 在c:mysqldata目錄下建立一個文本文件命名為foo.sym,文件名與數據庫名相同,後綴名為sym,裏面的內容為:D:data foo,就是foo數據庫的絕對路徑。 Linux系統: 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)中。命令如下: [root@test1 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。 [root@test1 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步再檢查一下。還要注意目錄的屬主和權限。 複制內容到剪貼板 代碼: [root@sample ~]# chown -R mysql:mysql /home/data/mysql/ ← 改變數據庫的歸屬為mysql [root@sample ~]# chmod 700 /home/data/mysql/test/ ← 改變數據庫目錄屬性為700 [root@sample ~]# chmod 660 /home/data/mysql/test/* ← 改變數據庫中數據的屬性為660