mysql에서 캐시를 지우는 방법

coldplay.xixi
풀어 주다: 2020-09-11 16:05:46
원래의
6645명이 탐색했습니다.

Mysql 캐시 지우기 방법: FLUSH 구문을 사용하여 캐시를 지우려면 FLUSH를 실행하려면 다시 로드 권한이 있어야 하며 구문은 [FLUSH 플러시_옵션 [,flush_option]]입니다. ㅋㅋㅋ 내부 캐시에는 FLUSH 명령을 사용해야 합니다. FLUSH를 실행하려면 다시 로드 권한이 있어야 합니다.

flush_option은 다음 중 하나일 수 있습니다.

  • mysql에서 캐시를 지우는 방법HOSTS 가장 많이 사용되고 자주 발생하는 항목입니다. 주로 호스트 캐시 테이블을 지우는 데 사용됩니다. 호스트 중 일부가 IP 번호를 변경하거나 Host... isblocked 오류 메시지가 표시되면 호스트 테이블을 지워야 합니다. MySQL 서버에 연결할 때 특정 호스트에 대해 max_connect_errors 이상의 오류가 지속적으로 발생하면 MySQL은 보안상의 이유로 해당 호스트의 추가 연결 요청을 차단합니다. 호스트 테이블을 지우면 호스트가 다시 연결을 시도할 수 있습니다.
  • LOGS 현재 바이너리 로그 파일을 닫고 새 파일을 생성합니다. 새 바이너리 로그 파일 이름은 현재 바이너리 파일 번호에 1이 추가됩니다.

  • PRIVILEGES 이는 재인증이 수행될 때마다 만일의 경우에 대비해 새 권한을 즉시 적용하기 위해 데이터베이스 인증 테이블에서 다시 로드하는 데에도 일반적으로 사용됩니다. 캐시.
  • TABLES 열려 있는 모든 테이블을 닫으면 이 작업은 쿼리 캐시의 내용을 지웁니다.
  • FLUSH TABLES WITH READ LOCK 열려 있는 모든 테이블을 닫고 테이블 잠금 해제가 명시적으로 실행될 때까지 데이터베이스의 모든 테이블에 읽기 잠금을 추가합니다. 이 작업은 데이터 백업에 자주 사용됩니다.

  • STATUS 대부분의 상태 변수를 0으로 재설정합니다.
  • MASTER 바이너리 로그 인덱스 파일의 모든 바이너리 로그 파일을 삭제하고, 바이너리 로그 파일의 인덱스 파일을 빈 상태로 재설정한 후, 새로운 바이너리 로그 파일을 생성하는 것은 더 이상 권장되지 않습니다. Change 리셋마스터가 되었습니다. 상상할 수 있듯이 예전에는 매우 순진했습니다. 간단한 명령 하나로 가능했지만 이전 방법은 현재 바이너리 로그 파일의 이름을 먼저 알아낸 다음 제거를 사용하는 것이었습니다. 작업.

  • QUERY CACHE는 쿼리 캐시를 재구성하고 조각을 제거하며 성능을 향상시키지만 쿼리 캐시의 기존 데이터에는 영향을 주지 않습니다. 이는 테이블 플러시 및 쿼리 캐시 재설정과 유사합니다. 캐시된 콘텐츠 쿼리)는 다릅니다.

  • SLAVE는 복제 재설정과 유사합니다. 슬레이브 데이터베이스가 마스터 데이터베이스의 복제 위치를 잊어버리게 하고, 마스터 데이터베이스와 마찬가지로 다운로드한 릴레이 로그도 삭제하므로 더 이상 권장되지 않으며 변경됩니다. 슬레이브를 재설정합니다. 이것은 또한 매우 유용합니다.

일반적으로 Flush 작업은 바이너리 로그 파일에 기록되지만 FLUSH LOGS, FLUSH MASTER, FLUSH SLAVE code>, FLUSH TABLES WITH READ LOCK은 기록되지 않으므로 위의 작업이 바이너리 로그 파일에 기록되면 슬레이브 데이터베이스에 영향을 미칩니다. flush_option可以是下列任何东西:

  • HOSTS       这个用的最多,经常碰见。主要是用来清空主机缓存表。如果你的某些主机改变IP数字,或如果你得到错误消息Host ... isblocked,你应该清空主机表。当在连接MySQL服务器时,对一台给定的主机有多于 max_connect_errors个错误连续不断地发生,MySQL为了安全的需要将会阻止该主机进一步的连接请求。清空主机表允许主机再尝试连接。

  • LOGS        关闭当前的二进制日志文件并创建一个新文件,新的二进制日志文件的名字在当前的二进制文件的编号上加1。

  • PRIVILEGES  这个也是经常使用的,每当重新赋权后,为了以防万一,让新权限立即生效,一般都执行一把,目地是从数据库授权表中重新装载权限到缓存中。

  • TABLES       关闭所有打开的表,同时该操作将会清空查询缓存中的内容。

  • FLUSH TABLES WITH READ LOCK   关闭所有打开的表,同时对于所有数据库中的表都加一个读锁,直到显示地执行unlock tables,该操作常常用于数据备份的时候。

  • STATUS       重置大多数状态变量到0。

  • MASTER        删除所有的二进制日志索引文件中的二进制日志文件,重置二进制日志文件的索引文件为空,创建一个新的二进制日志文件,不过这个已经不推荐使用,改成reset master 了。可以想象,以前自己是多土啊,本来一条简单的命令就可以搞定的,却要好几条命令来,以前的做法是先查出来当前的二进制日志文件名,再用purge 操作。

  • QUERY CACHE   重整查询缓存,消除其中的碎片,提高性能,但是并不影响查询缓存中现有的数据,这点和Flush table 和Reset Query  Cache(将会清空查询缓存的内容)不一样的。

  • SLAVE        类似于重置复制吧,让从数据库忘记主数据库的复制位置,同时也会删除已经下载下来的relay log,与Master一样,已经不推荐使用,改成Reset Slave了。这个也很有用的。

  一般来讲,Flush操作都会记录在二进制日志文件中,但是FLUSH LOGSFLUSH MASTERFLUSH SLAVEFLUSH TABLES WITH READ LOCK

참고: 재설정 작업은 실제로 플러시 작업의 향상된 버전 역할을 합니다.

프로그래밍 학습에 대해 더 자세히 알고 싶다면

php training 칼럼을 주목해주세요!

위 내용은 mysql에서 캐시를 지우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿