Heim  >  Artikel  >  Datenbank  >  So leeren Sie den Cache in MySQL

So leeren Sie den Cache in MySQL

coldplay.xixi
coldplay.xixiOriginal
2020-09-11 16:05:466634Durchsuche

Mysql-Cache-Löschmethode: Verwenden Sie die FLUSH-Syntax, um den Cache zu leeren. Um FLUSH auszuführen, müssen Sie über die Berechtigung zum erneuten Laden verfügen. Die Syntax lautet [FLUSH Flush_option [,flush_option]].

So leeren Sie den Cache in MySQL

> Wenn Sie möchten, bereinigen Sie etwas MySQL, das Sie verwenden möchten Um den internen Cache zu löschen, sollten Sie den FLUSH-Befehl verwenden. Um FLUSH auszuführen, müssen Sie über die Berechtigung zum erneuten Laden verfügen.

flush_option kann einer der folgenden sein:

HOSTS Dies wird am häufigsten verwendet und kommt am häufigsten vor. Wird hauptsächlich zum Löschen der Host-Cache-Tabelle verwendet. Wenn einige Ihrer Hosts die IP-Nummern ändern oder wenn Sie die Fehlermeldung „Host... ist blockiert“ erhalten, sollten Sie die Hosttabelle leeren. Wenn für einen bestimmten Host beim Herstellen einer Verbindung zum MySQL-Server kontinuierlich mehr als max_connect_errors-Fehler auftreten, blockiert MySQL aus Sicherheitsgründen weitere Verbindungsanfragen vom Host. Durch das Löschen der Host-Tabelle kann der Host erneut versuchen, eine Verbindung herzustellen.

  • LOGS Schließen Sie die aktuelle Binärprotokolldatei und erstellen Sie eine neue Datei. Der Name der neuen Binärprotokolldatei wird um 1 zur Nummer der aktuellen Binärdatei addiert.

  • PRIVILEGES Dies wird auch häufig verwendet, wenn eine erneute Autorisierung durchgeführt wird, damit die neuen Berechtigungen für alle Fälle sofort wirksam werden. Der Zweck besteht darin, die Berechtigungen aus der Datenbank neu zu laden der Cache.
  • TABLES Schließen Sie alle geöffneten Tabellen und dieser Vorgang löscht den Inhalt des Abfragecaches.

  • FLUSH TABLES WITH READ LOCK Schließen Sie alle geöffneten Tabellen und fügen Sie eine Lesesperre für alle Tabellen in der Datenbank hinzu, bis das Entsperren von Tabellen explizit ausgeführt wird. Dieser Vorgang wird häufig zur Datensicherung verwendet.

  • STATUS Setzt die meisten Statusvariablen auf 0 zurück.

  • MASTER Löschen Sie alle Binärprotokolldateien in der Binärprotokoll-Indexdatei, setzen Sie die Indexdatei der Binärprotokolldatei auf leer zurück und erstellen Sie eine neue Binärprotokolldatei. Dies wird jedoch nicht mehr empfohlen. Ändern Es wurde zum Reset-Master. Wie Sie sich vorstellen können, war ich früher sehr naiv, aber es waren mehrere Befehle erforderlich. Die vorherige Methode bestand darin, zuerst den Namen der aktuellen Binärprotokolldatei herauszufinden und dann die Bereinigung durchzuführen Betrieb.

  • 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 LOCKQUERY CACHE organisiert den Abfragecache neu, eliminiert Fragmente und verbessert die Leistung, hat jedoch keinen Einfluss auf die vorhandenen Daten im Abfragecache. Dies ähnelt der Funktion „Tabelle leeren“ und „Abfragecache zurücksetzen“. zwischengespeicherten Inhalt abfragen) sind unterschiedlich.

  • SLAVE ähnelt dem Zurücksetzen der Replikation. Dadurch vergisst die Slave-Datenbank den Replikationsspeicherort der Master-Datenbank und löscht auch das heruntergeladene Relay-Protokoll. Dies wird nicht mehr empfohlen und geändert zum Zurücksetzen. Das ist auch sehr nützlich.

  • Im Allgemeinen werden Flush-Vorgänge in binären Protokolldateien aufgezeichnet, aber FLUSH LOGS, FLUSH MASTER, FLUSH SLAVE code>, <code>FLUSH TABLES WITH READ LOCK wird nicht aufgezeichnet. Wenn die oben genannten Vorgänge also in der Binärprotokolldatei aufgezeichnet werden, wirkt sich dies auf die Slave-Datenbank aus.

    Hinweis: Der Reset-Vorgang spielt tatsächlich die Rolle einer erweiterten Version des Flush-Vorgangs.

    Wenn Sie mehr über das Erlernen des Programmierens erfahren möchten, achten Sie bitte auf die Spalte „PHP-Schulung“!
    🎜🎜

    Das obige ist der detaillierte Inhalt vonSo leeren Sie den Cache in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    In Verbindung stehende Artikel

    Mehr sehen