想要改變mysql數(shù)據(jù)存儲路徑的想法最初是在生產(chǎn)服務(wù)器上mysql的數(shù)據(jù)放到了系統(tǒng)盤上,導(dǎo)致系統(tǒng)盤滿額,沒有足夠的內(nèi)存交換空間而死機(jī)。
成都創(chuàng)新互聯(lián)公司長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為義烏企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),義烏網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
將mysql數(shù)據(jù)存儲到其他目錄下有兩種方法,方法一修改my點(diǎn)吸煙 f配置文件,不過經(jīng)過筆者通過網(wǎng)上的配置資料嘗試總是不成功,環(huán)境是在centos7下操作的。后來想到一個(gè)簡單的方法,通過linux的軟鏈接將實(shí)際數(shù)據(jù)放到另外的目錄里面就可以了。
操作系統(tǒng)是centos7
mysql是通過二進(jìn)制包里面的rpm方式安裝的。相當(dāng)于全自動了。
先關(guān)閉mysql
默認(rèn)情況下,rpm安裝好的mysql會將數(shù)據(jù)放置在 /var/lib/mysql 目錄當(dāng)中,我們像將數(shù)據(jù)遷移到/mnt/data目錄當(dāng)中在terminal當(dāng)中輸入:
mv命令會直接將 /var/lib/mysql 文件夾直接剪切到 /mnt/data 目錄當(dāng)中。
這時(shí)我們需要回到/var/lib目錄當(dāng)中,
在這個(gè)目錄當(dāng)中建立軟鏈接。
軟鏈接相當(dāng)于windows里面創(chuàng)建目錄快捷方式是一樣的,這個(gè)時(shí)候你應(yīng)該可以看到mysql文件夾回到了 /var/lib 目錄當(dāng)中,要進(jìn)去查看一下mysql的路徑是否和my點(diǎn)吸煙 f一致。
這時(shí)候我們再啟動mysql
以上我們就將數(shù)據(jù)遷移到其他目錄下,并且還沒有修改和變更my點(diǎn)吸煙 f文件。
MySQL默認(rèn)的數(shù)據(jù)文件存儲目錄為/var/lib/mysql。假如要把MySQL目錄移到/home/data下需要進(jìn)行下面幾步:\x0d\x0a1、home目錄下建立data目錄\x0d\x0acd /home\x0d\x0amkdir data\x0d\x0a2、把MySQL服務(wù)進(jìn)程停掉\x0d\x0amysqladmin -u root -p shutdown\x0d\x0a3、把/var/lib/mysql整個(gè)目錄移到/home/data\x0d\x0amv /var/lib/mysql /home/data/\x0d\x0a這樣就把MySQL的數(shù)據(jù)文件移動到了/home/data/mysql下。\x0d\x0a4、找到my點(diǎn)吸煙 f配置文件\x0d\x0a如果/etc/目錄下沒有my點(diǎn)吸煙 f配置文件,請到/usr/share/mysql/下找到*點(diǎn)吸煙 f文件,拷貝其中一個(gè)到/etc/并改名為my點(diǎn)吸煙 f)中。命令如下:\x0d\x0a\x0d\x0a[root@test1 mysql]# cp /usr/share/mysql/my-medium點(diǎn)吸煙 f /etc/my點(diǎn)吸煙 f\x0d\x0a\x0d\x0a5、編輯MySQL的配置文件/etc/my點(diǎn)吸煙 f\x0d\x0a為保證MySQL能夠正常工作,需要指明mysql.sock文件的產(chǎn)生位置。修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock。操作如下:\x0d\x0a\x0d\x0avi my點(diǎn)吸煙 f (用vi工具編輯my點(diǎn)吸煙 f文件,找到下列數(shù)據(jù)修改之)\x0d\x0a# The MySQL server\x0d\x0a[mysqld]\x0d\x0aport = 3306\x0d\x0a#socket = /var/lib/mysql/mysql.sock(原內(nèi)容,為了更穩(wěn)妥用“#”注釋此行)\x0d\x0asocket = /home/data/mysql/mysql.sock (加上此行) \x0d\x0a\x0d\x0a6、修改MySQL啟動腳本/etc/init.d/mysql\x0d\x0a最后,需要修改MySQL啟動腳本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現(xiàn)在的實(shí)際存放路徑:home/data/mysql。\x0d\x0a\x0d\x0a[root@test1 etc]# vi /etc/init.d/mysql\x0d\x0a#datadir=/var/lib/mysql(注釋此行)\x0d\x0adatadir=/home/data/mysql (加上此行) \x0d\x0a\x0d\x0a7、重新啟動MySQL服務(wù)\x0d\x0a\x0d\x0a/etc/init.d/mysql start\x0d\x0a\x0d\x0a或用reboot命令重啟Linux\x0d\x0a如果工作正常移動就成功了,否則對照前面的7步再檢查一下。\x0d\x0a還要注意目錄的屬主和權(quán)限。
錯(cuò)誤現(xiàn)象:MySQL開始是安裝在D盤,后來因其他原因卸掉后又重新安裝到E盤,發(fā)現(xiàn)不能通過“net start mysql”啟動。查看管理工具中"服務(wù)"中MySQL的屬性后發(fā)現(xiàn),可執(zhí)行文件路徑仍是D:/mysql/bin/...現(xiàn)在怎么樣更改,或者怎么從服 務(wù)項(xiàng)去掉MySQL?\x0d\x0a解決方法:到注冊表里HKEY_LOCAL_MECHINE---SYSTEM ---CurrentControlSet 更改查找MySQL項(xiàng)值,然后改路徑。\x0d\x0a找到相對的服務(wù),修改ImagePath值為你的路徑。\x0d\x0a可以在注冊表搜索“D:/mysql/bin/”,然后將其改成正確的路徑“E:/mysql/bin/”。\x0d\x0a\x0d\x0a注明:如果在服務(wù)中還是啟動不起來的話。那么在按以下方法在操作一次肯定可以了。\x0d\x0a\x0d\x0aD:/mysql/bin/winmysqladmin.exe 啟動它。然后在看看進(jìn)程看看MYSQL此進(jìn)程是否以經(jīng)啟動了
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"(這里用又斜線,否則有可能報(bào)錯(cuò))。
退出所有對mysql.exe的調(diào)用,任務(wù)管理器看一下服務(wù)MySQL有沒有停止,如果沒有,在cmd中命令net stop mysql停止服務(wù)。然后在net start mysql重新啟動服務(wù)
查詢數(shù)據(jù)庫位置,查看是否成功