linux下mysql數據文件磁盤滿


操作系統:CentOS 6.2

現象:mysql無法啟動

查找問題發現:存放mysql數據分區100%

[root@jinniu-test3 mysql]# df -h
文件系統              容量  已用  可用 已用%% 掛載點
/dev/sda2              49G   49G  20K  100% /
tmpfs                 933M     0  933M   0% /dev/shm
/dev/sda1             194M   31M  153M  17% /boot
/dev/sda5             219G  701M  207G   1% /opt

檢查/etc/my.cnf,數據文件默認存放於/var/lib/mysql下

確認此文件夾確實過大

解決方案:轉移存放目錄,修改my.cnf或者軟連接回來

[root@-_- ~]# cp -Rp /var/lib/mysql /opt/     --帶權限拷貝整個目錄

修改/etc/my.cnf配置datadir=/opt/mysql指向新位置

重啟mysql發現無法啟動

[root@-_- ~]# service mysqld start
MySQL Daemon failed to start.
正在啟動 mysqld:                                          [失敗]

檢查/var/log/mysqld.log文件最后

[root@-_- ~]# tail -20 /var/log/mysqld.log
...
130301 11:52:05 [Warning] Can't create test file /opt/mysql/-_-.lower-test
130301 11:52:05 [Warning] Can't create test file /opt/mysql/-_-.lower-test
...

網絡搜索問題得知是這台機器啟用SElinux 安全策略引起的

使用命令可以解決

[root@-_- ~]# chcon -R -t mysqld_db_t /opt/mysql

實在不行,禁用SElinux

執行:setenforce 0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM