記一次生產(chǎn)數(shù)據(jù)庫(kù)數(shù)據(jù)文件進(jìn)行分區(qū)轉(zhuǎn)移
由于之前同事沒(méi)有對(duì)磁盤(pán)分區(qū)做規(guī)劃,可以看到數(shù)據(jù)和系統(tǒng)是在同個(gè)分區(qū)的,沒(méi)有單獨(dú)規(guī)劃一個(gè)數(shù)據(jù)分區(qū)給數(shù)據(jù)庫(kù),還有個(gè)分區(qū)是640G沒(méi)有用上。下面簡(jiǎn)單介紹一下mysql數(shù)據(jù)庫(kù)數(shù)據(jù)文件的轉(zhuǎn)移過(guò)程。
1. 新建數(shù)據(jù)分區(qū)
篇幅需要,以下從簡(jiǎn)。。。
- # fdisk /dev/sdb
- n->p->1->Enter->Enter->w
- #創(chuàng)建物理卷
- #pvcreate /dev/sdb1
- #創(chuàng)建邏輯卷
- #vgcreate datavg /dev/sdb1
- #lvcreate -n lv_data -L +200G datavg
- #格式化磁盤(pán)
- # mkfs.ext4 /dev/datavg/lv_data
- #掛載
- # vim /etc/fstab
- /dev/datavg/lv_data /tmsdata ext4 defaults 0 0
- # mount -a
2. mysql數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)移
之前的數(shù)據(jù)文件和日志都在/data目錄下,目前需轉(zhuǎn)移到新數(shù)據(jù)目錄/tmsdata
(1) 停止數(shù)據(jù)庫(kù)服務(wù)
- systemctl stop mysqld
- systemctl status mysqld
- #把緩存寫(xiě)到數(shù)據(jù)文件,多做幾次總不會(huì)錯(cuò)
- sync
- sync
(2) 轉(zhuǎn)移數(shù)據(jù)文件和日志
- cp -rf /data/* /tmsdata/
- chmod -R 755 /tmsdata
- chown -R mysql:mysql /tmsdata/
(3) 修改my.cnf配置
- # vim /etc/my.cnf
- [mysqld]
- datadir=/tmsdata/datafile
- log-error=/tmsdata/log/mysqld.log
- #注意二進(jìn)制日志也要改
- log-bin = /tmsdata/log/mysql-bin.log
- log-bin-index =/tmsdata/log/binlog.index
3. 啟動(dòng)mysql服務(wù)并驗(yàn)證
如果有主從服務(wù)最好在停數(shù)據(jù)庫(kù)服務(wù)時(shí)先設(shè)置數(shù)據(jù)庫(kù)只讀,后面從庫(kù)開(kāi)啟后再開(kāi)啟讀寫(xiě)~
- # vim /etc/my.cnf
- [mysqld]
- datadir=/tmsdata/datafile
- log-error=/tmsdata/log/mysqld.log
- #注意二進(jìn)制日志也要改
- log-bin = /tmsdata/log/mysql-bin.log
- log-bin-index =/tmsdata/log/binlog.index