Mysql binlog占满服务器导致服务器cpu占满,mysql无法正常连接

一、基础命令

1.查看占用最多的文件

1.1 基础命令

du -sh /*

1.2 查询结果

[root@localhost apache-tomcat-9.0.16]# du -sh /usr/local/*
9.9M	/usr/local/bin
4.0K	/usr/local/etc
4.0K	/usr/local/games
820K	/usr/local/include
15M	/usr/local/lab
381M	/usr/local/lib
4.0K	/usr/local/lib64
4.0K	/usr/local/libexec
123G	/usr/local/mysql
4.0K	/usr/local/README.rst
4.0K	/usr/local/sbin
108K	/usr/local/share
4.0K	/usr/local/src

1.3 查询mysql占用的进程

ps -aux|grep mysql

mysql     7669  3.1  3.4 13035904 2240216 ?    Sl   Jul13 4562:41 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/logs/error.log --pid-file=/usr/local/mysql/data/localhost.pid --socket=/tmp/mysql.sock --port=3306

杀死进程 kill -9

2. 端口查看命令参考

2.1 参考命令

、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000
2、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000

3.清除binlog日志

3.1 查看日志

show binary logs;

3.2 清除日志

RESET MASTER;//删除所有binlog日志,新日志编号从头开始

PURGE MASTER LOGS TO 'mysql-bin.010';//删除mysql-bin.010之前所有日志

PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';// 删除2003-04-02 22:46:26之前产生的所有日志

4. 重启服务

/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/logs/error.log --pid-file=/usr/local/mysql/data/localhost.pid --socket=/tmp/mysql.sock --port=3306

5.关闭binlog日志

vi /etc/my.cnf

[client]
#客户端设置
port    = 3306
socket  = /tmp/mysql.sock
default-character-set = utf8

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
bind-address = 0.0.0.0
port = 3306
server_id=61
character_set_server = utf8
collation-server = utf8_general_ci

lower_case_table_names = 1

general_log=0

log_timestamps = SYSTEM
log-error = /usr/local/mysql/logs/error.log

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

二、服务器异常处理重点说明

1.停止Mysql

1.为什么停止mysql,CUD操作都会执行写binlog操作,可能会导致日志的持续增长,先停止服务,是为了打断当前所有客户端链接,防止linux服务器内存无端增长。
2.关闭之后系统会释放一部分内存,linux服务器的Mysql客户端命令比如 show bin logs,重启之后可以正常使用。
3.关闭客户端服务、比如tomcat、Navicat等

2. 重启Mysql(binlog开启)

重启之后要做的是先删日志参照第一部分。

3.去掉记日志binlogs

查看 /etc/my.cnf 注释binlog调用

4.重启Mysql(binlog关闭)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值