三种方式
下面介绍三种方式,可以根据相应的场景使用
1、清理mysql的binlog日志
df -Th #检查是否有磁盘压力。
cd /var/lib/mysql
ls 查看binlog日志是否占用大量空间
若占用空间过大
先登录mysql
mysql -uroot -p
purge binary logs to 'binlog.000011'; #清除到文件名为'binlog.000011'为止
purge binary logs before '2024-2-10'; #清除日期之前的binlog
flush logs;
再次到/var/lib/mysql目录下查看,释放了部分空间
2、设置binlog日志的保存时长
mysql -uroot -proot
show variables like '%expire%';
set globalexpire_logs_days = 7; #若报错执行以下命令
set global binlog_expire_logs_seconds=604800; #604800秒等于7天
show binary logs;
flush logs;
show binary logs;
如图示:
3、给mysql挂载磁盘
若mysql没有挂载磁盘,可以挂载到一个大点的磁盘,就可以解决空间问题
例:挂载到1T的 /dev/sdc
注:此操作需要关闭数据库
systemctl stop mysqld
mkdir /mnt
mkfs.xfs /dev/sdc
mount /dev/sdc /mnt
cd /var/lib/mysql
mv * /mnt/
umount /mnt
mount /dev/sdc /var/lib/mysql
chown -R mysql.mysql /var/lib/mysql
systemctl start mysqld