今天收到告警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