環(huán)境: OS:Red Hat Linux As 5 DB:MySql 5.5 在linux下安裝好mysql后,默認(rèn)的數(shù)據(jù)文件路徑存放在/var/lib/mysql目錄下, 下面的步驟說明如將該目錄下的數(shù)據(jù)文件遷移到其他目錄. 1.創(chuàng)建數(shù)據(jù)庫目錄并將該目錄權(quán)限屬主修改為mysql [root@host1 /]# mkdir -p mysql/data [root@host1 /]# chown -R mysql:mysql ./mysql 2.停止mysql服務(wù) [root@host1 etc]# service mysql stop Shutting down MySQL. [ OK ] 3.修改my.cnf文件修改 在[mysqld]下添加新的數(shù)據(jù)存放路徑 datadir=/mysql/data 4.將默認(rèn)的數(shù)據(jù)路徑下的所有文件和目錄cp到新的目錄下 [root@host1 mysql]#cd /var/lib/mysql [root@host1 mysql]#cp -R * /mysql/data/ 這里注意copy過去的目錄權(quán)限屬主需要修改為mysql,這里直接修改 mysql目錄即可. [root@host1 mysql]# chown -R mysql:mysql ./mysql 4.啟動數(shù)據(jù)庫 [root@host1 mysql]# service mysql start Starting MySQL.... [ OK ] -- The End --
公司主營業(yè)務(wù):網(wǎng)站制作、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出濟(jì)源免費做網(wǎng)站回饋大家。
1.停止數(shù)據(jù)庫服務(wù):
使用/etc/init.d/mysql
stop
或者
stop
mysql
2.
在目標(biāo)位置(/data)創(chuàng)建數(shù)據(jù)庫文件的目錄(如/mysqldb),并復(fù)制(如果不再使用默認(rèn)的位置,則可以直接mv原先數(shù)據(jù)庫文件到新目錄下)原先的數(shù)據(jù)庫文件目錄到該目錄下:
cd
/data
mkdir
mysqldb
cp
-r
/var/lib/mysql
/data/mysqldb/
經(jīng)過一段時間的等待后,在/data/mysqldb/下面就有了原先默認(rèn)的mysql數(shù)據(jù)庫文件目錄的拷貝“/mysql”
3.修改my.cnf文件
#
vim
/etc/mysql/my.cnf
將datadir
=
/var/lib/mysql
改為
datadir
=
/data/mysqldb/mysql
另外由于當(dāng)前my.cnf
中的socket
=
/var/run/mysqld/mysqld.sock(而并非像網(wǎng)上所說的sock
=
/var/lib/mysql/mysql.sock),即socket的位置并不在數(shù)據(jù)庫文件所在的位置,因此可以不做類似網(wǎng)上其他網(wǎng)頁所說的,要使用以下的命令做一個mysql.sock
鏈接:
ln
-s
/data/mysqldb/mysql/mysql.sock
/var/lib/mysql/mysql.sock
(需要從/home/data/mysql下復(fù)制一份過來)
4.
修改數(shù)據(jù)庫的權(quán)限:
#
chown
-r
mysql:mysql
/data/mysqldb/mysql/
←
改變數(shù)據(jù)庫文件目錄的歸屬為mysql
#
chmod
700
/data/mysqldb/mysql/whois/
←
改變數(shù)據(jù)庫目錄whois的屬性為700
#
chmod
660
/data/mysqldb/mysql/whois/*
←
改變數(shù)據(jù)庫中數(shù)據(jù)表的屬性為660
5.
修改文件usr.sbin.mysqld
#
vim
/etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql
r,
/var/lib/mysql/**
rwk,
改成
/data/mysqldb/mysql/
r,
/data/mysqldb/mysql/**
rwk,
注意:沒有該步驟的話,將導(dǎo)致數(shù)據(jù)庫服務(wù)無法重啟,好像在重啟,但是一直卡住無反應(yīng)。
6.啟動mysql服務(wù)器
/etc/init.d/apparmor
restart
/etc/init.d/mysql
restart
(或者使用
restart
mysql)
MySql安裝過程中,沒有修改掉數(shù)據(jù)存儲位置的話,可能會是數(shù)據(jù)存儲到自己并不希望的位置,故需要修改
先利用命令行登錄數(shù)據(jù)庫
mysql -u root -p
查看數(shù)據(jù)庫數(shù)據(jù)存儲位置
show variables like '%datadir%'
去該目錄下找到文件夾中的所有文件(該目錄一般是隱藏的),將其中所有文件拷貝到你希望數(shù)據(jù)文件存儲的位置,
我是想拷貝到D:/MySQl/data目錄下的
打開安裝目錄下的my.ini文件,將datadir="C:/ProgramData/MySQL/MySQL Server 5.5/data/",這行修改為datadir="D\MySQL\data"(這里用又斜線,否則有可能報錯)。
退出所有對mysql.exe的調(diào)用,任務(wù)管理器看一下服務(wù)MySQL有沒有停止,如果沒有,在cmd中命令net stop mysql停止服務(wù)。然后在net start mysql重新啟動服務(wù)
查詢數(shù)據(jù)庫位置,查看是否成功
mysql中修改數(shù)據(jù)庫目錄方法:
操作步驟:
1.檢查mysql數(shù)據(jù)庫存放目錄
mysql
-u
root
-prootadmin
#進(jìn)入數(shù)據(jù)庫
show
variables
like
'%dir%';
#查看sql存儲路徑
(查看datadir
那一行所指的路徑)
quit;
2.停止mysql服務(wù)
service
mysqld
stop
3.創(chuàng)建新的數(shù)據(jù)庫存放目錄
mkdir
/data/mysql
4.移動/復(fù)制之前存放數(shù)據(jù)庫目錄文件,到新的數(shù)據(jù)庫存放目錄位置
cp
-R
/usr/local/mysql/data/*
/data/mysql/
#或mv
/usr/local/mysql/data/*
/data/mysql
5.修改mysql數(shù)據(jù)庫目錄權(quán)限以及配置文件
chown
mysql:mysql
-R
/data/mysql/
vim
/etc/my.cnf
datadir=/data/mysql
(制定為新的數(shù)據(jù)存放目錄)
vim
/etc/init.d/mysqld
datadir=/data/mysql
6.啟動數(shù)據(jù)庫服務(wù)
service
mysqld
start
說明:根據(jù)以上的簡單6步操作,已經(jīng)成功的數(shù)據(jù)庫目錄更換路徑了。