1. Problembeschreibung
Die alte Version von Nacos hat eine Raft-Schwachstelle gefunden und direkt auf die neueste Version 2.2.3 aktualisiert, um das Problem zu beheben.
2. Upgrade-Schritte
-
Ziehen Sie den neuesten Spiegel
docker pull nacos/nacos-server:v2.2.3
-
Fügen Sie die folgenden drei Umgebungsvariablen basierend auf den ursprünglichen Bereitstellungsparametern hinzu
-e NACOS_AUTH_TOKEN= -e NACOS_AUTH_IDENTITY_KEY= -e NACOS_AUTH_IDENTITY_VALUE=
Verwenden Sie unter anderem
NACOS_AUTH_TOKEN
den folgenden Befehl, um die alte Version des Dienstes abzurufencurl -X POST '127.0.0.1:8848/nacos/v1/auth/login' -d 'username=nacos&password=nacos'
NACOS_AUTH_IDENTITY_KEY
InformationenNACOS_AUTH_IDENTITY_VALUE
dazu, wie Sie es erhalten, finden Sie unter dem folgenden Link
mit dem Referenzlink -
Aktualisieren Sie die Felder der drei Tabellen in der Originaldatenbank
ALTER TABLE config_info ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key'; ALTER TABLE config_info_beta ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key'; ALTER TABLE config_info_tag ADD encrypted_data_key varchar(255) DEFAULT NULL COMMENT '加密key';
-
Starten Sie einfach den neuen Nacos-Container
3. Problemaufzeichnung
- AUTH_TOKEN-Frage Sie
können diese gerne ausfüllen, aber keine Sonderzeichen verwenden, da andernfalls möglicherweise ein Fehler gemeldet wird. - [Berechtigungskontrolle-Berechtigungsverwaltung] Es wird ein Fehler gemeldet, dass
permissions
die Tabelle nicht gefunden werden kann
. Geben Sie die Container-Befehlszeile ein, suchen Sie/home/nacos/conf/mysql-schema.sql
das Initialisierungs-SQL-Skript. Am Ende befindet sich eine Anweisung zum Erstellen der Tabellepermissions
. Führen Sie sie einfach aus.