Ein solches Ereignis tritt während des MySQL-Enterprise-Monitor-Überwachungsprozesses auf. Thema: Mögliche MySQL-Server-UUID-Duplizierung für Serverereignis. Aus der Beschreibung der Eingabeaufforderung geht hervor, dass es Duplikate gibt . uuid, aber tatsächlich gibt es in der Master-Slave-Beziehung keine doppelte UUID. Die Master-Slave-Beziehung wird durch xtrabackup aufgebaut. Was ist also das Problem? Im Folgenden finden Sie eine Beschreibung des Problems, das bei der Überwachung beim Kopieren basierend auf xtrabackup zu doppelten UUIDs führt.
1. Fehlerphänomen
Topic: Possible MySQL server UUID duplication for server afd6bca4-6636-11e3-9d60-74867ae1c47c: NOTICE Categories:Monitoring and Support Services Current State:Open Auto-Closes by Default:Yes Advisor:Duplicate MySQL Server UUID Current Status:Notice Last Checked:May 4, 2015 2:18:02 PM
###Die Eingabeaufforderungs-UUID wurde N-mal geändert. Diese beiden werden in der MySQL-Instanzüberwachung angezeigt Treffen Die Host-Konfiguration ändert sich ständig
MySQL server afd6bca4-6636-11e3-9d60-74867ae1c47c changed its hostname 181 times between the following hostnames:DBSRV-TXT01DBSRV-SLAVE02 MySQL server afd6bca4-6636-11e3-9d60-74867ae1c47c changed its connection TCP properties 96 times between the following TCP properties: 127.0.0.1:3306127.0.0.1:3307 AdviceCheck that you are not monitoring more than one instance with the following server UUID: afd6bca4-6636-11e3-9d60-74867ae1c47c. This can be caused by server or host cloning. If this is expected (example: HA scenarios), then please ignore this notice.
2 . UUID überprüfen
###Wie im Google-Artikel beschrieben, speichert mysql.inventory die von der MySQL-Enterprise-Monitoring-Überwachung verwendeten UUID-Informationen
###UUID anzeigen und mysql.inventory-Tabelle in der Hauptdatenbank
[root@DBSRV-TXT01 ~]# mysql -uroot -p -e " show variables like 'server_uuid'; select * from mysql.inventory;" -S /tmp/mysql3307.sock Enter password: +---------------+--------------------------------------+ | Variable_name | Value | +---------------+--------------------------------------+ | server_uuid | 1ed85852-dd27-11e4-aa4a-44a8420ba7a5 | +---------------+--------------------------------------+ +--------+-------------------------------------------------------+ | name | value | +--------+-------------------------------------------------------+ | uuid | afd6bca4-6636-11e3-9d60-74867ae1c47c | | hostid | ssh:{8a:c7:a9:42:3a:6b:06:ad:fa:ed:04:ac:a5:fa:f0:b5} | +--------+-------------------------------------------------------+
# ## Sehen Sie sich die UUID- und mysql.inventory-Tabellen in der Slave-Datenbank an
[root@DBSRV-SLAVE02 ~]# mysql -uroot -p -e " ---Author : Leshami > show variables like 'server_uuid'; ---Blog : http://www.php.cn/ > select * from mysql.inventory;" Enter password: +---------------+--------------------------------------+ | Variable_name | Value | +---------------+--------------------------------------+ | server_uuid | f7e00194-2f59-11e4-bcf6-b82a72d46b21 | +---------------+--------------------------------------+ +--------+-------------------------------------------------------+ | name | value | +--------+-------------------------------------------------------+ | uuid | afd6bca4-6636-11e3-9d60-74867ae1c47c | | hostid | ssh:{8a:c7:a9:42:3a:6b:06:ad:fa:ed:04:ac:a5:fa:f0:b5} | +--------+-------------------------------------------------------+
### Aus den obigen Abfrageergebnissen wissen wir, dass die Tabelle mysql.inventory dieselbe UUID speichert
###Diese gleiche UUID ist auf die Verwendung von Hot Standby auf Instanzebene zurückzuführen. Die beiden Instanzen haben also dieselbe UUID
###Löschen Sie mysql.inventory und starten Sie dann den Überwachungsagenten neu (weggelassen), das Problem ist gelöst
[root@DBSRV-SLAVE02 ~]# mysql -uroot -p -e "truncate table mysql.inventory" -S /tmp/mysql3307.sock Enter password:
3. Informationen zur MySQL MEM-UUID-Duplizierung
MySQL Enterprise Monitor uses a number of unique values known as UUIDs to identify the different components, including the MySQL instance being monitored. UUID values related to the MySQL instance and the host on which it runs are stored in a table mysql.inventory within the instance. MySQL Enterprise Monitor creates this table if it does not exist already.
Jeder MySQL-Server verfügt über eine UUID, die in der mysql.inventory
-Tabelle gespeichert ist und den MySQL-Server gegenüber dem Rest von MEM eindeutig identifiziert. Die Server-UUID wird verwendet, um Informationen über eine einzelne MySQL-Instanz zu sammeln.
Jeder Host (die Maschine, auf der der Agent ausgeführt wird) verfügt über eine UUID, um den Host gegenüber dem Rest eindeutig zu identifizieren MySQL Enterprise Monitor wird verwendet, um die Betriebssysteminformationen (z. B. CPU-, RAM- und Festplattendaten) zu sammeln und festzustellen, ob sich der MySQL-Server auf demselben Host befindet wie zuvor, um festzustellen, wann Daten verschoben wurden Maschinen oder wenn eine Maschine aktualisiert wurde, wird in der Zeile hostid
in der Tabelle mysql.inventory
gespeichert.
Jeder Agent hat eine UUID, um den Agenten zu identifizieren Die MEM.-Agent-UUID wird im Parameter agent-uuid
in der Agent-Konfigurationsdatei definiert, um den Ort und die Quelle eines Problems zu bestimmen.
Da jeder Host eindeutig sein muss, sollten Sie vorsichtig sein beim Wiederherstellen aus einem Backup, damit Sie keine Hosts mit doppelten SSH-Schlüsseln oder UUIDs haben.
-Tabelle auf dem überwachten Gerät gespeichert ist MySQL Server, um festzustellen, ob es sich bei der überwachten Instanz um einen Klon handelt. Beim Start des Agenten wird die Host-ID des aktuellen Servers mit dem gespeicherten Wert verglichen. Wenn die generierte Host-ID und die gespeicherte Host-ID nicht übereinstimmen, erhalten Sie eine ähnliche Fehlermeldung auf Folgendes in der Agent-Protokolldatei:
%s: [%s] the hostid from mysql.inventory doesn't match our agent's host-id (%s != %s) We assume that this is a cloned host and shutdown now. Please TRUNCATE TABLE mysql.inventory on this mysql-instance and restart the agent. If this is a master for replication, please also run SET SQL_LOG_BIN = 0; first.
To fix the problem, connect to the MySQL server using the credentials configured when you installed the agent, and then truncate the mysql.inventory
table:
mysql> TRUNCATE mysql.inventory;
Now restart the agent, which recreates the mysql.inventory
table with the updated instance UUID and hostid information.
以上就是Possible MySQL server UUID duplication for server 的内容,更多相关内容请关注PHP中文网(www.php.cn)!