- 資訊首頁(yè) > 互聯(lián)網(wǎng) > 主機資訊 >
- 更改MySQL數據存儲路徑的方法
MySQL是一個(gè)關(guān)系型數據庫管理系統,當前屬于Oracle公司產(chǎn)品。MySQL是最流行的關(guān)系型數據庫管理系統之一。由于關(guān)系數據庫將數據保存在不同的表中,因此,能夠大大增加了訪(fǎng)問(wèn)速度并提高了靈活性。
目前,在國內外眾多的Linux系統的主機產(chǎn)品中,均采用MySQL數據庫的,也就是我們常說(shuō)的PHP MySQL運行環(huán)境。一般情況下,使用虛擬主機空間的話(huà),主機商已經(jīng)為我們配置好了MySQL數據存儲路徑。但是,對于服務(wù)器來(lái)說(shuō),MySQL數據庫的存儲位置我們是可以自行設置的。
剛好,最近一段時(shí)間來(lái),很多使用RAKSmart服務(wù)器的朋友都有問(wèn)起,“怎樣更改MySQL數據存儲路徑”。為此,這里就來(lái)簡(jiǎn)單介紹下更改MySQL數據存儲路徑的簡(jiǎn)單方法。
一般情況下,MySQL默認的數據文件存儲目錄為/var/lib/mysql,假如你要把目錄移到/home/database下面,那么需要進(jìn)行以下幾步:
1、首先在home目錄下建立database目錄
命令:cd/homemkdir data
2、接下來(lái)把MySQL服務(wù)進(jìn)程停掉:
命令:mysqladmin -u root -p shutdown
3、把/var/lib/mysql整個(gè)目錄移到/home/database下面
命令:mv /var/lib/mysql /home/database/
通過(guò)這三個(gè)步驟,我們就把MySQL的數據文件移動(dòng)到了/home/database/mysql下
4、接下來(lái),我們找到my.cnf配置文件
如果/etc/目錄下沒(méi)有my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個(gè)到/etc/并改名為my.cnf。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、編輯MySQL的配置文件/etc/my.cnf
當然,為保證MySQL能夠正常工作,需指明mysql.sock文件的產(chǎn)生位置。修改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/database/mysql/mysql.sock(加上此行)。
6、修改MySQL啟動(dòng)腳本/etc/init.d/mysql
最后,需要修改MySQL啟動(dòng)腳本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實(shí)際存放路徑,即:home/database/mysql。
[root@test1 etc]# vi /etc/init.d/mysql#datadir=/var/lib/mysql(注釋此行)datadir=/home/database/mysql (加上此行)。
當然,如果是CentOS還要改/usr/bin/mysqld_safe 相關(guān)文件位置;最后再做一個(gè)mysql.sock鏈接。命令如下:
in -s /home/database/mysql/mysql.sock /var/lib/mysql/mysql.sock
7、重新啟動(dòng)MySQL服務(wù)
/etc/init.d/mysqld start,或用reboot命令重啟Linux。
如果工作正常移動(dòng)就成功了,否則對照前面的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
此外,如果大家按照以上方法設置,如果出現錯誤的,那么可能是由于以下2個(gè)原因引起的。
第一、在CentOS系統上,如果MySQL是通過(guò)yum安裝的,那么可能使用上面的方法不能完全湊效。
原因:MySQL的配置文件有多處,除了更改/etc/my.cnf文件之外,還需要更改/usr/lib64/mysql/mysql_config。
因為,這個(gè)文件里面有一行“l(fā)data=’/var/lib/mysql’”和”socket=/var/lib/mysql/mysql.sock”,這里也需要改掉的。
第二、可能是由于權限問(wèn)題導致的,大家可以查看/var/log/mysqld.log,如果發(fā)現Can’t create test file /xxx/mysql/centos5.lower-test提示,那么就是因為沒(méi)有權限創(chuàng )建或讀取文件。
當然,解決辦法就是使用setenforce 0 這個(gè)命令,讓系統關(guān)閉權限校驗,然后再運行命令 service mysqld start 發(fā)現OK了。
另外一種方法是:restorecon -FRv /home/database/mysql,或chcon -R -t mysqld_db_t /home/database/mysql,這樣也可以解決的。
總之,在Linux主機中,大多數據朋友會(huì )把數據存儲在默認位置了。不過(guò)有的朋友為了方便,可能需要更換MySQL數據庫存儲位置,如果大家想更改的話(huà),可以按照上述方法就行設置就可以了。
來(lái)源鏈接:https://www.idcspy.com/mysql-position.html
本站聲明:網(wǎng)站內容來(lái)源于網(wǎng)絡(luò ),如有侵權,請聯(lián)系我們,我們將及時(shí)處理。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站