場景:小張在巡檢時發現公司一台資料庫經常寫不入資料,於是登入資料庫所在的主機一看,原來是資料庫對應的50g磁碟分割槽滿了,而主機上還有另外乙個500g的磁碟分割槽沒在用,於是小張請示完領導後,準備將資料庫的日誌等佔空間的檔案位置更換到更大的那個分割槽。
(ps:本環境為單機環境,主備環境或主主環境操作會有所不同)
1、首先是解決掉磁碟分割槽空間用完的情況並備份資料庫,小張刪除了改磁碟分割槽下的幾個安裝包檔案,再進入資料庫清理下binlog日誌:
登入資料庫,執行:
reset master;2、確定mysql具體安裝路徑,各個檔案的位置。退出資料庫
#mysqldump -u 使用者 -p密碼 --all-databases | gzip > /opt/backup.sql.gz
ps:在動資料庫之前切記備份,以免發生意外事故
檢視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
4、轉移資料庫檔案路徑
#cd /
#mv data/ /opt/
5、啟動mysql,成功啟動
這裡warning只是個提示,不是資料庫的報錯,執行下面命令
#systemctl daemon-reload
即可解決
檢查資料庫日誌看看有什麼異常報錯不
沒異常報錯,可以正常使用了。
如何解除安裝編譯安裝的mysql
如何解除安裝編譯安裝的mysql 注意 先把mysql的資料庫bak出來 匯出資料庫 mysqldump u使用者名稱 p資料庫 資料庫名.sql 匯入資料庫 mysql u使用者名稱 p資料庫 資料庫名.sql 一.如果是rpm包安裝的 可以這樣解除安裝 rmp e mysql 二.如果是原 編譯...
mysql 編譯 MySQL 編譯安裝
1 安裝思路解壓 tar 生成 configure cmake 編譯 make 安裝 make install 5.5版本之前 tar configure make make install 5.5版本之後 cmake gmake 2 安裝mysql cmake 定製功能 儲存引擎 字符集 壓縮 定...
mysql編譯安裝原理 MySQL編譯安裝全過程
環境介紹 安裝 lrzsz 軟體,這個軟體和編譯安裝 mysql 無關,只是為了方便後面通過 xshell 拖拽其他軟體 yum y install lrzsz 安裝 mysql 需要的各種依賴包 yum y install ncurses devel libaio devel 建立 home yu...