千家信息网

mysql中mysql-bin.000001是什么文件可以删除吗

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,用ports安装了mysql以后,过一段时间发现/var空间不足了,查一下,会发现是mysql-bin.000001、mysql-bin.000002等文件占用了空间,那么这些文件是干吗的?这是数据库
千家信息网最后更新 2025年01月20日mysql中mysql-bin.000001是什么文件可以删除吗

用ports安装了mysql以后,过一段时间发现/var空间不足了,查一下,会发现是mysql-bin.000001、mysql-bin.000002等文件占用了空间,那么这些文件是干吗的?这是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。

这样做主要有以下两个目的:

1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。

处理方法分两种情况:
1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的log-bin这一行注释掉,重启mysql服务即可。
2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。

清理日志方法为:

PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2008-12-19 21:00:00';

如果你确定从服务器已经同步过了,跟主服务器一样了,那么可以直接RESET MASTER将这些文件删除。

之前发现自己10G的服务器空间大小,用了几天就剩下5G了,自己上传的文件才仅仅几百M而已,到底是什么东西占用了这么大空间呢?

目录web根目录是放在/home 里面的,所有文件加起来才不到300M,而服务器上已经占用了近5G空间,恐怖吧,最后经我一步一步查询得知,原来是这个文件夹占了非常多的空间资源

原来如此,是mysql文件夹下的var目录占用空间最大,那里面是啥 内容呢?我们来看下:

发现了如此多的 mysql-bin.0000X文件,这是什么东西呢?原来这是mysql的操作日志文件.我才几十M的数据库,操作日志居然快3G大小了.

如何删除mysql-bin.0000X 日志文件呢?

红色表示输入的命令.

[root@jiucool var]# /usr/local/mysql/bin/mysql -u root -p
Enter password: (输入密码)
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 264001
Server version: 5.1.35-log Source distribution

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

mysql> reset master; (清除日志文件)
Query OK, 0 rows affected (8.51 sec)

mysql>

好了,我们再来查看下mysql文件夹占用多少空间?

[root@jiucool var]# du -h -max-depth=1 /usr/local/mysql/
37M /usr/local/mysql/var
70M /usr/local/mysql/mysql-test
15M /usr/local/mysql/lib
448K /usr/local/mysql/include
2.9M /usr/local/mysql/share
7.6M /usr/local/mysql/libexec
17M /usr/local/mysql/bin
11M /usr/local/mysql/docs
2.9M /usr/local/mysql/sql-bench
163M /usr/local/mysql/

好了,看一下,整个mysql 目录才占用163M大小!OK,没问题,既然mysql-bin.0000X日志文件占用这么大空间,存在的意义又不是特别大,那么我们就不让它生成吧.

[root@jiucool var]# find / -name my.cnf

找到了my.cnf 即mysql配置文件,我们将log-bin=mysql-bin 这条注释掉即可.

# Replication Master Server (default)
# binary logging is required for replication
#log-bin=mysql-bin

重启下mysql吧.

OK,至此,操作完成. 以后再不会因为就几十M的数据库大小生成N个G的日志文件啦.

这些个日志文件太恐怖了,我搬到这新VPS来才二十天左右,还不到一个月日志文件居然就近3个G大小,如果一两个月我不清除日志文件这还得了!

MySql data目录 mysql-bin.000001文件清理方法

在MYSQL安装目录写,data目录存放着所有数据库的文件,在这个目录下有一些mysql-bin.000001,mysql-bin.000002,mysql-bin.000003类似的文件占用很大的空间,这些文件都是数据库的操作日志文件,可以清除掉。清除方法:
在cmd下进到mysql下的bin目录下,输入mysql -u root -p;然后输入密码,成功进去后输入 reset master。
mysql> reset master;
Query OK, 0 rows affected, 1 warning (0.20 sec)
这样就删除了日志文件,如果你不希望生成这些日志文件可以这样操作:
打开mysql目录中的my.ini,找到log-bin=mysql-bin然后注释掉就可以了。
#log-bin=mysql-bin
(在修改数据库配置文件时候最好暂时关闭MYSQL数据库)

文件 日志 服务 服务器 数据 空间 数据库 目录 大小 输入 方法 注释 同步 两个 命令 文件夹 这是 问题 从属 生成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 大连铭科网络技术有限公司朝阳 华为软件开发的程序员命运 数据库工程师工作要求 中兴通讯网络技术工程师做什么的 一个县的网络安全规划 抖音可以发网络安全知识吗 惠州市信息网络安全专家 博乐新华互联网科技行情 数据库概念设计的策略 网络技术部有哪些岗位职责 深圳软件开发公司类似贝店 电源软件开发合同 数据库创建表格模板 目前数据库技术热点 湖南常规软件开发中心 网页在线代理服务器 如何预防网络安全问题论文 服务器文件管理器怎么关闭 网络技术人员可以评什么职称 软件开发人员转行到软件销售 中国网络安全从业人员现状 榆林小程序软件开发公司 数据库的文件格式 网络安全工程师方向好就业吗 代码怎么查网络安全域划分 正规的浪潮存储服务器公司 全球学术快报服务器开小差是怎么回事 星环科技是几线互联网 清空数据库 id从0开始 数据库笛卡尔积基数
0