欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

MySQL里flush tables是什么作用? 有大用

MySQL里flush tables是什么作用?

 我来答
mlsjla 
TA获得超过494个认可 推荐于2017-11-25

mysql为了提高其性能,部2113分数据时缓存在内存中,因5261此要刷4102新表(清除缓存),就需1653使用

FLUSH TABLES;

当然,如果是需要备份数据库,同时防止备份时候有新数据写入,且备份的是最新的:

FLUSH TABLES WITH READ LOCK;

具体你可以查询官方文档,其用处并不是很大,相反刷新权限我们时常用。但是,对于并发现很高、缓存很大的数据库,在备份时候都需要加上锁并刷新。


当然,高可用的系统,都是做了主从复制+热备。备份直接让从数据库做备份功能了。另外磁盘镜像也是一个好的备份方案。

追问

这里还有2个问题:

  1. 刷新后性能是不是下降了?

  2. 备份的时候加锁可以理解,但为什么备份的时候要FLUSH,缓存里的数据会对备份进行干扰?

追答
备份实际上就是逐行执行的sql语句。

刷新能得到最新的。

可以自己了解一下mysql缓存机制,这方面我也不是很清楚。毕竟我不是dbA
我是苦头陀螺 
2018-04-05

01、

mysql为了提高其性能,部分2113数据时缓存在内存中,5261此要刷新表(清4102除缓存),就需要用:1653FLUSH TABLES;

02、

果是需要备份数据库,同时防止备份时候有新数据写入,且备份的是FLUSH TABLES WITH READ LOCK;

03、

具体你可以查询官方文档,其用处并不是很大,相反刷新权限我们时常用。但是,对于并发现很高、缓存很大的数据库,在备份时候都需要加上锁并刷新。


来自   https://zhidao.baidu.com/question/983448011434445459.html

普通分类: