MYSQL备份:启用二进制日志功能的MYSQL增量备份?

64 2024-03-03 07:27

一、MYSQL备份:启用二进制日志功能的MYSQL增量备份?

linux下,找到MySQL的配置文件,一般是/etc/my.cnf添加下面两行log-bin=mysql-binbinlog_format=mixed如果有标首‘[mysqld]’字样,就添加到[mysqld]下,不要添加到其他的下面。这样就开启了二进制日志,之后做的所有和修改数据表有关的操作都会被记录。修改 my.ini文件加入以下语句(在没有设置的前提下) 复制代码代码如下:log-error=d:/log/mysql/mysql_log_err.txtlog=d:/log/mysql/mysql_log.txt#log-bin=d:/log/mysql/mysql_log_binlog-slow-queries= d:/log/mysql/mysql_log_slow.txt使用以下命令查看是否启用了日志 复制代码代码如下:mysql>show variables like ’log_%’;

二、mysql客户端需要单独安装吗?

需要,mysql正常下载就是一个后台程序,没有图标看不见运行,一般我们都是单独下载一个客户端然后连接mysql即可运用。

三、mysql数据删除如何快速释放磁盘空间?

1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ;

2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。truncate table其实有点类似于drop table 然后creat,只不过这个create table 的过程做了优化,比如表结构文件之前已经有了等等。所以速度上应该是接近drop table的速度;

3、delete from table_name删除表的全部数据,对于MyISAM 会立刻释放磁盘空间 (应该是做了特别处理,也比较合理),InnoDB 不会释放磁盘空间;

4、对于delete from table_name where xxx带条件的删除, 不管是innodb还是MyISAM都不会释放磁盘空间;

5、delete操作以后使用optimize table table_name 会立刻释放磁盘空间。不管是innodb还是myisam 。所以要想达到释放磁盘空间的目的,delete以后执行optimize table 操作。

6、delete from表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。

四、怎么单独清理出一个磁盘?

电脑磁盘清理方法及其步骤如下:

第1步:在桌面上双击“计算机”图标,打开“计算机”窗口,右健单击需要进行清理的磁盘,在弹出的快捷菜单中选择“属性”命令。

第2步:在弹出的“属性”对话框中,单击“常规”选项卡中的“磁盘清理”按钮。

第3步:在弹出的“磁盘清理选项”对话抠中单击“此计算机上所有xp用户的文件”选项。

第4步:弹出“磁盘清理”对话框,在“要删除的文件” 列表中选择需要清理的文件类型,然后单击 “确定”按钮。

第5步:在接下来弹出的确认对话框中单击“刪除文件”按钮即可。

五、mysql如果二进制日志过大过影响速度吗?

二进制日志大小与速度无关max_binlog_size 这个参数 用来控制日志文件的大小。默认大小1G。 当你开启二进制的时候 ,对性能是有一定影响的,但是为了数据安全性以及复制 功能。这个性能损失是可以接受的。

六、mysql的binlog太大太多占用大量磁盘的解决?

今天有个同事来问我,说mysql目录下有很多1.1G的mysql-bin.00000*文件,占用了100多G,占用磁盘空间非常大,这些文件都是msyql日志文件,从几m到几个G都有可通,要解决这个问题并不难,只要修改/etc/my.cnf文件里的#log-bin=mysql-bin和#binlog_format=mixed把这二行注释掉,重启数据库就可以了!

七、可以将磁盘上的闲置空间单独分区吗?

可以通过Windows自带的磁盘管理功能重新建立一个新的分区,或者使用分区软件将它分配的与它临近的分区上

八、MYSQL所在机器磁盘满了以后,写入数据库会阻塞吗?

当磁盘空间写满了之后,MySQL是无法再写入任何数据的,包括对表数据的写入,以及binlog、binlog-index等文件。

当然了,因为InnoDB是可以把脏数据先放在内存里,所以不会立刻表现出来无法写入,除非开启了binlog,写入请求才会被阻塞。

当MySQL检测到磁盘空间满了,它会:

每分钟:检查空间是否得到释放,以便写入新数据。当发现有剩余空间了,就会继续写入数据,一切照旧。

每十分钟:如果还是发现没剩余空间,则会在日志中写入一条记录,报告磁盘空间满(这时候只写入几个字节还是够的)。

应该怎么办

那么,当发现磁盘空间满了之后,我们应该怎么处理呢,建议:

提高监控系统检测频率,预防再次发生;

及时删除不用的文件,释放空间;

若有线程因磁盘满的问题被阻塞了,可先杀掉,等到下一分钟重新检测时它可能又可以正常工作了;

可能因磁盘满导致某些线程被阻塞,引发其他线程也被阻塞,可把导致阻塞的线程杀掉,其他被阻塞的线程也就能继续工作了。

例外

有个例外的情况是:

当执行 REPAIR TABLE 或者 OPTIMIZE TABLE 操作时,或者执行完 LOAD DATA INFILE 或 ALTER TABLE 之后批量更新索引时,这些操作会创建临时文件,当执行这些操作过程中mysqld发现磁盘空间满了,就会把这个涉及到的表标记为crashed,删掉临时文件(除了 ALTER TABLE 操作,MySQL会放弃正在执行的操作,删除临时文件,释放磁盘空间)。

备注:当执行这些命令过程中mysqld进程被意外被杀掉的话,其所生成临时文件不会自动删除,需要手工删掉才能释放磁盘空间。

九、做过做过磁盘阵列的硬盘是可以再单独使用?

可以使用,磁盘阵列的设置是基于主板的

十、windows装虚拟机需要给虚拟机单独放个磁盘么?

不用单独分个区,不过建议单独给它弄个分区,因为运行这玩意会产生大量的磁盘碎片。和别的程序文件什么的放一个区的话会影响运行速度。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片