編譯安裝的mysql如何更改文件路徑

場景:小張在巡檢時發現公司一臺數據庫經常寫不入數據,於是登錄數據庫所在的主機一看,原來是數據庫對應的50G磁盤分區滿了,而主機上還有另外一個500G的磁盤分區沒在用,於是小張請示完領導後,準備將數據庫的日誌等佔空間的文件位置更換到更大的那個分區。

(PS:本環境爲單機環境,主備環境或主主環境操作會有所不同)

1、首先是解決掉磁盤分區空間用完的情況並備份數據庫,小張刪除了改磁盤分區下的幾個安裝包文件,再進入數據庫清理下binlog日誌:

登錄數據庫,執行:

reset master;

退出數據庫

#mysqldump -u 用戶 -p密碼 --all-databases | gzip > /opt/backup.sql.gz

PS:在動數據庫之前切記備份,以免發生意外事故

2、確定mysql具體安裝路徑,各個文件的位置。

#ps -ef | grep mysql

編譯安裝的mysql如何更改文件路徑
查看etc下的my.cnf文件,由於數據庫是編譯安裝的,日誌等文件位置都設置在/data下

#cat /etc/my.cnf | grep data/mysql

datadir=/data/mysql/data #mysql數據庫文件所在目錄

tmpdir=/data/mysql/data #mysql數據庫臨時文件目錄

log-error=/data/mysql/log/error.log

general_log_file=/data/mysql/log/general_log.log

log_bin= /data/mysql/binlog/mysql-bin.log

relay_log= /data/mysql/binlog/mysql-relay-bin.log

slow_query_log_file=/data/mysql/log/slow.log #慢查詢日誌

innodb_data_home_dir = /data/mysql/data #這是InnoDB表的目錄共用設置。

innodb_log_group_home_dir = /data/mysql #InnoDB 日誌文件的路徑。

3、停用mysql,編輯my.cnf更改路徑位置,這裏更改爲/opt下

#service mysqld stop

更改前文件指定位置如下:

#cat /etc/my.cnf | grep data/mysql

datadir=/data/mysql/data #mysql數據庫文件所在目錄

tmpdir=/data/mysql/data #mysql數據庫臨時文件目錄

log-error=/data/mysql/log/error.log

general_log_file=/data/mysql/log/general_log.log

log_bin=/data/mysql/binlog/mysql-bin.log

relay_log= /data/mysql/binlog/mysql-relay-bin.log

slow_query_log_file=/data/mysql/log/slow.log #慢查詢日誌

innodb_data_home_dir = /data/mysql/data #這是InnoDB表的目錄共用設置。

innodb_log_group_home_dir = /data/mysql #InnoDB 日誌文件的路徑。

更改後文件指定位置如下:

cat /etc/my.cnf | grep data/mysql

datadir=/opt/data/mysql/data #mysql數據庫文件所在目錄

tmpdir=/opt/data/mysql/data #mysql數據庫臨時文件目錄

log-error=/opt/data/mysql/log/error.log

general_log_file=/opt/data/mysql/log/general_log.log

log_bin = /opt/data/mysql/binlog/mysql-bin.log

relay_log = /opt/data/mysql/binlog/mysql-relay-bin.log

slow_query_log_file=/opt/data/mysql/log/slow.log #慢查詢日誌

innodb_data_home_dir = /opt/data/mysql/data #這是InnoDB表的目錄共用設置。

innodb_log_group_home_dir = /opt/data/mysql #InnoDB 日誌文件的路徑。

還需要修改/etc/init.d/mysqld這個文件跟mysql-bin.index裏的內容,將路徑/data/mysql/data修改爲/opt/data/mysql/data

#cat /etc/init.d/mysqld | grep data/mysql

datadir=/opt/data/mysql/data

#vim /opt/data/mysql/binlog/mysql-bin.index

/opt/data/mysql/binlog/mysql-bin.000001
編譯安裝的mysql如何更改文件路徑

4、轉移數據庫文件路徑

#cd /

#mv data/ /opt/

5、啓動mysql,成功啓動
編譯安裝的mysql如何更改文件路徑

這裏warning只是個提示,不是數據庫的報錯,執行下面命令

#systemctl daemon-reload

即可解決

檢查數據庫日誌看看有什麼異常報錯不
編譯安裝的mysql如何更改文件路徑

沒異常報錯,可以正常使用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章