Ubuntu中更改MySQL數(shù)據(jù)庫(kù)文件目錄的方法
前言
公司的Ubuntu服務(wù)器對(duì)于各個(gè)系統(tǒng)的目錄是放在不同的邏輯分區(qū)上的,比如存放mysql數(shù)據(jù)庫(kù)文件的默認(rèn)目錄/var/lib/mysql所在的系統(tǒng)目錄/var/單獨(dú)在一個(gè)分區(qū)上,但是這個(gè)分區(qū)的大小是固定的,不足以存放整個(gè)數(shù)據(jù)庫(kù)文件。但是另一個(gè)系統(tǒng)目錄/data大小卻達(dá)到T級(jí),大大滿(mǎn)足了需求,因此有了更改數(shù)據(jù)庫(kù)文件目錄的需求。
以下是我參考網(wǎng)絡(luò)上一些文章進(jìn)行嘗試的過(guò)程:
1.停止數(shù)據(jù)庫(kù)服務(wù):
使用/etc/init.d/mysql stop
或者 stop mysql
2. 在目標(biāo)位置(/data)創(chuàng)建數(shù)據(jù)庫(kù)文件的目錄(如/mysqldb),并復(fù)制(如果不再使用默認(rèn)的位置,則可以直接mv原先數(shù)據(jù)庫(kù)文件到新目錄下)原先的數(shù)據(jù)庫(kù)文件目錄到該目錄下:
cd /data mkdir mysqldb cp -r /var/lib/mysql /data/mysqldb/
經(jīng)過(guò)一段時(shí)間的等待后,在/data/mysqldb/下面就有了原先默認(rèn)的mysql數(shù)據(jù)庫(kù)文件目錄的拷貝“/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)上所說(shuō)的sock = /var/lib/mysql/mysql.sock),即socket的位置并不在數(shù)據(jù)庫(kù)文件所在的位置,因此可以不做類(lèi)似網(wǎng)上其他網(wǎng)頁(yè)所說(shuō)的,要使用以下的命令做一個(gè)mysql.sock 鏈接:
ln -s /data/mysqldb/mysql/mysql.sock /var/lib/mysql/mysql.sock (需要從/home/data/mysql下復(fù)制一份過(guò)來(lái))
4. 修改數(shù)據(jù)庫(kù)的權(quán)限:
# chown -R mysql:mysql /data/mysqldb/mysql/ ← 改變數(shù)據(jù)庫(kù)文件目錄的歸屬為mysql # chmod 700 /data/mysqldb/mysql/whois/ ← 改變數(shù)據(jù)庫(kù)目錄whois的屬性為700 # chmod 660 /data/mysqldb/mysql/whois/* ← 改變數(shù)據(jù)庫(kù)中數(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,
注意:沒(méi)有該步驟的話(huà),將導(dǎo)致數(shù)據(jù)庫(kù)服務(wù)無(wú)法重啟,好像在重啟,但是一直卡住無(wú)反應(yīng)。
6.啟動(dòng)mysql服務(wù)器
/etc/init.d/apparmor restart /etc/init.d/mysql restart (或者使用 restart mysql)
搞定!
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
MySQL中CONCAT和GROUP_CONCAT方法的區(qū)別詳解
本文主要介紹了MySQL中CONCAT和GROUP_CONCAT方法的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01mysql啟用skip-name-resolve模式時(shí)出現(xiàn)Warning的處理辦法
在優(yōu)化MYSQL配置時(shí),加入 skip-name-resolve ,在重新啟動(dòng)MYSQL時(shí)檢查啟動(dòng)日志,發(fā)現(xiàn)有警告信息2012-07-07mysql中find_in_set()函數(shù)用法及自定義增強(qiáng)函數(shù)
MySQL 中的 FIND_IN_SET 函數(shù)用于在逗號(hào)分隔的字符串列表中查找指定字符串的位置,本文就來(lái)介紹一下mysql中find_in_set()函數(shù)用法及自定義增強(qiáng)函數(shù)2024-08-08MySQL數(shù)據(jù)庫(kù)8——數(shù)據(jù)庫(kù)中函數(shù)的應(yīng)用詳解
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)8——數(shù)據(jù)庫(kù)中函數(shù)的應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03deepin 2014系統(tǒng)下安裝mysql數(shù)據(jù)庫(kù)的方法步驟
這篇文章主要給大家介紹了在deepin 2014系統(tǒng)下安裝mysql數(shù)據(jù)庫(kù)的方法步驟,文中通過(guò)圖文介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04SQL函數(shù)Group_concat的用法及說(shuō)明
這篇文章主要介紹了SQL函數(shù)Group_concat的用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03關(guān)于mysql innodb count(*)速度慢的解決辦法
innodb引擎在統(tǒng)計(jì)方面和myisam是不同的,Myisam內(nèi)置了一個(gè)計(jì)數(shù)器,所以在使用 select count(*) from table 的時(shí)候,直接可以從計(jì)數(shù)器中取出數(shù)據(jù)。而innodb必須全表掃描一次方能得到總的數(shù)量2012-12-12