今天收到告警zabbix服務器硬盤滿

查看硬盤,發現mysql數據文件目錄是在var/lib/mysql下,查看硬盤
[root@zabbix_server ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 50G 45G 2.3G 96% / tmpfs 7.8G 888K 7.8G 1% /dev/shm /dev/sda1 477M 40M 412M 9% /boot /dev/mapper/VolGroup-lv_home 492G 46G 422G 10% /home
發現/目錄只有2.3G可用空間了,而/home目錄下有422G可用空間,於是打算把mysql數據庫目錄遷移到home下
一、在home下建立mysql_data目錄
[root@zabbix_server home]# mkdir mysql_data
二、停止mysql服務
[root@zabbix_server lib]# service mysqld stop
停止 mysqld: [確定]
三、切換到/var/lib/mysql目錄下,復制數據文件
[root@zabbix_server lib]# cp -a mysql /home/mysql_data/
四、修改/etc/my.cnf文件里相應的目錄
#datadir=/var/lib/mysql datadir=/home/mysql_data/mysql #socket=/var/lib/mysql/mysql.sock socket=/home/mysql_data/mysql/mysql.sock
五、修改/etc/init.d/mysqd配置文件里相應的目錄
[root@zabbix_server home]# vim /etc/init.d/mysqld
#get_mysql_option datadir "/var/lib/mysql" mysqld get_mysql_option datadir "/home/mysql_data/mysql" mysqld
六、為/home/mysql_data/mysql/mysql.sock建立/var/lib/mysql/mysql.sock軟連接
[root@zabbix_server home]# ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock
七、啟動mysql服務
[root@zabbix_server home]# service mysqld start
正在啟動 mysqld: [確定]
八、查看mysql進程
[root@zabbix_server home]# ps -ef|grep msyqld root 17186 11579 0 10:17 pts/3 00:00:00 grep msyqld [root@zabbix_server home]# ps -ef|grep mysqld root 16740 1 0 10:15 pts/3 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/home/mysql_data/mysql --socket=/home/mysql_data/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql mysql 16934 16740 23 10:15 pts/3 00:00:26 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql_data/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/home/mysql_data/mysql/mysql.sock root 17189 11579 0 10:17 pts/3 00:00:00 grep mysqld
發現--datadir已經設置成了/home/mysql_data/mysql
