MySQL-Bereitstellung Derzeit stellt das Unternehmen MySQL über Plattformoperationen bereit. Am Freitag gab es vorübergehend einige Probleme mit der Plattform. Ich musste es dringend bereitstellen und habe es daher manuell bereitgestellt. Da ich die Umgebung schon lange nicht mehr bereitgestellt habe, bin ich etwas eingerostet. Ich zeichne die Bereitstellungsschritte und aufgetretenen Probleme hier auf und hoffe, dass sie für alle hilfreich sind. 1. Generell gibt es drei gängige Bereitstellungsmethoden. Die erste ist die Yum-Methode, also das RPM-Paket. Die zweite ist die Quellcode-Methode, also der Quellcode. Die dritte ist das Binärpaket, also das Paket im Tar.gz-Format. Sie können es einfach entpacken. Ich verwende die dritte Methode und stelle MySQL Version 5.5.19 bereit. 2. Schauen wir uns zunächst den Fehler an: Anweisung zum Starten des Dienstes: /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld_safe --defaults=/data/mysql_4310/my.cnf & [Hinweis] InnoDB: Wartet auf den Beginn der Bereinigung [Hinweis] InnoDB: Percona XtraDB (http://www.percona.com) 5.7.16-10 gestartet; Protokollsequenznummer 0 [Hinweis] Das Plugin „FEDERATED“ ist deaktiviert. 20190621_11:25:41mysqld: Tabelle 'mysql.plugin' existiert nicht [FEHLER] Die Tabelle mysql.plugin kann nicht geöffnet werden. Führen Sie bitte mysql_upgrade aus, um sie zu erstellen. [FEHLER] unbekannte Variable „thread_concurrency=8“ [FEHLER] Abbruch Wie Sie sehen, werden zwei Fehler gemeldet. Der erste ist, dass die Tabelle mysql.plugin nicht geöffnet werden kann, und der zweite Fehler ist ein Parameterfehler. Der Parameter thread_concurrency kann nicht erkannt werden. Zur zweiten Frage kann bestätigt werden, dass es sich um ein Parameterproblem in der Konfigurationsdatei handelt. Da ich die reguläre 5.7-Konfigurationsdatei verwendet und mehrere Parameter geändert habe, ist es sehr wahrscheinlich, dass dieser Parameter fehlt und geändert werden kann. Hauptsächlich die erste Frage. Zu diesem Zeitpunkt habe ich die folgenden Versuche unternommen. 3. Lösung Versuch 1: Versuchen Sie einen Neustart Methode, die den Dienst „MySQL Start“ verwendet: [root]# Dienst mysql_4310 starten MySQL wird gestartet.....Der Server wurde beendet, ohne die PID-Datei (fil[FAILED]/mysql_4310/tmp/mysql.pid) zu aktualisieren. Es stellt sich heraus, dass der Dienst immer noch nicht gestartet werden kann und die Ausgabe des Fehlerprotokolls unverändert bleibt. Versuch 2: Sehen Sie sich die Eingabeaufforderung nach dem Fehler an und führen Sie die Methode mysql_upgrade aus [root bin]# ./mysql_upgrade --protocol=tcp -P4310 -p Passwort eingeben: Suche nach „mysql“ als: ./mysql Suche nach „mysqlcheck“ als: ./mysqlcheck Ausführen von „mysqlcheck“ mit den Verbindungsargumenten: „--protocol=tcp“ „--port=4310“ ./mysqlcheck: Habe den Fehler erhalten: 2003: Beim Versuch, eine Verbindung herzustellen, kann keine Verbindung zum MySQL-Server auf „localhost“ (111) hergestellt werden Es scheint, dass es immer noch nicht funktioniert. Derzeit vermute ich ernsthaft, dass es ein Problem mit der Konfigurationsdatei ist:. Versuch 3: Holen Sie sich eine mysql5.5-Konfigurationsdatei aus der Onlineumgebung, ersetzen Sie sie durch die neue Konfigurationsdatei und starten Sie neu: [root@mysql_4310]# /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld_safe --defaults-file=/data/mysql_4310/my.cnf & [1] 63529 [root@mysql_4310]# 190621 11:51:37 mysqld_safe Protokollierung in '/data/mysql_4310/log/hb30_web_wechat_answers-121_246.err'. 190621 11:51:37 mysqld_safe Starte mysqld-Daemon mit Datenbanken von /data/mysql_4310/data 190621 11:51:40 mysqld_safe mysqld aus PID-Datei /data/mysql_4310/tmp/mysql.pid beendet Sehen Sie sich das Fehlerprotokoll an: Sehen Sie sich das Fehlerprotokoll an: [Hinweis] Das Plugin „FEDERATED“ ist deaktiviert. -5.5.19-linux2.6-x86_64/bin/mysqld: Unbekannter Fehler 1146 [FEHLER] Die Tabelle mysql.plugin kann nicht geöffnet werden. Führen Sie bitte mysql_upgrade aus, um sie zu erstellen. InnoDB: Der InnoDB-Speicherheap ist deaktiviert InnoDB: Mutexe und rw_locks unter Verwendung atomarer GCC-Builtins InnoDB: Komprimierte Tabellen verwenden zlib 1.2.3 InnoDB: Linux-natives AIO verwenden InnoDB: Pufferpool wird initialisiert, Größe = 4,0 G InnoDB: Initialisierung des Pufferpools abgeschlossen Die angegebene Datendatei /data/mysql_4310/ibdata1 existierte nicht: Tabase soll erstellt werden! InnoDB: Größe der Datei /data/mysql_4310/ibdata1 auf 1000 MB festlegen schreibt die Datei physisch vollständig: warten … in MB: 100 200 300 400 500 600 700 800 900 1000 InnoDB: Datendatei /data/mysql_4310/ibdata2 existierte nicht: muss neu erstellt werden InnoDB: Größe der Datei /data/mysql_4310/ibdata2 auf 100 MB festlegen schreibt die Datei physisch vollständig: warten … in MB: 100 og-Datei /data/mysql_4310/innodblog/ib_logfile0 hat eine andere Größe 0 1073741824 Bytes cified in der .cnf-Datei 0 134217728 Bytes! [FEHLER] Die Initialisierungsfunktion des Plugins „InnoDB“ hat einen Fehler zurückgegeben. [FEHLER] Die Registrierung des Plugins „InnoDB“ als STORAGE ENGINE ist fehlgeschlagen. [FEHLER] Abbruch Es wurde festgestellt, dass am Anfang ein neuer Fehler auftrat, der darauf hinweist, dass die InnoDB-Initialisierungsfunktion einen Fehler zurückgegeben hat und die InnoDB-Speicher-Engine nicht verwendet werden konnte. An diesem Punkt begann ich mich zu fragen, ob während der Initialisierung ein Fehler aufgetreten war, der dazu führte, dass der Dienst nicht verfügbar war. Daher dachte ich darüber nach, das Datenwörterbuch erneut zu initialisieren und den Dienst neu zu starten, um zu sehen, ob er funktioniert. Versuch 4: Datenwörterbuch neu initialisieren Ich habe versucht, die Initialisierung mit der Methode „Initialize-Insecure“ erneut zu initialisieren und habe festgestellt, dass dies fehlgeschlagen ist. [root mysql_4310]# /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld --initialisieren-unsicher --defaults-file=/data/mysql_4310/my.cnf --datadir=/Daten/mysql_4310/Daten --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64 & [1] 7045 [1]+ Beenden 2 /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld --initialisieren-unsicher --defaults-file=/data/mysql_4310/my.cnf --datadir=/Daten/mysql_4310/Daten --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64 Das Fehlerprotokoll ist immer noch dasselbe wie zuvor und zeigt an, dass die Tabelle mysql.plugin nicht existiert. Darüber hinaus gibt es eine weitere Zeile, und zwar die folgende: [FEHLER] /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld: unbekannte Option „--initialize-insecure“ Also habe ich das offizielle Dokument nach dem Parameter --initialize-insecure durchsucht und festgestellt, dass dieser Parameter in MySQL Version 5.5 nicht vorhanden ist. Die Version 5.5 hat den Parameter initialize, also habe ich ihn in den Parameter initialize geändert, neu initialisiert und dann den folgenden Fehler gemeldet: [root@ ]/usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64 --initialize & [1]+ Beenden 2 /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64 --initialize Überprüfen Sie an dieser Stelle die offizielle Dokumentation und stellen Sie fest, dass die MySQL 5.5-Version mit dem Befehl mysql_install_db anstelle des Befehls mysqld initialisiert wird. Das Tool mysql_install_db befindet sich nicht im Verzeichnis /usr/local/mysql-5.5.19-linux2.6-x86_64/bin, sondern im Verzeichnis /usr/local/mysql-5.5.19-linux2.6-x86_64/scripts. Verwenden Sie daher den Befehl cp, um es in das angegebene Verzeichnis zu kopieren und es dann wie folgt zu initialisieren: [root@mysql_4310]# /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysql_install_db --defaults-file=/data/mysql_4310/my.cnf [root@mysql_4310]# ll | grep installieren [root@mysql_4310]# /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysql_install_db --defaults-file=/data/mysql_4310/my.cnf --datadir=/Daten/mysql_4310/Daten --basedir=/usr/local/mysql-5.5.19-linu [1] 16365 [root@mysql_4310]# MySQL-Systemtabellen werden installiert … OK Hilfetabellen werden ausgefüllt... OK Um mysqld beim Booten zu starten, müssen Sie kopieren support-files/mysql.server an den richtigen Ort für Ihr System Denken Sie bitte daran, ein Passwort für den MySQL-Root-Benutzer festzulegen! Starten Sie dazu den Server und geben Sie dann die folgenden Befehle ein: /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqladmin -u Root-Passwort „neues Passwort“ /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqladmin -u root -h tk01-devt-mysql-7-200 Passwort „neues Passwort“ Alternativ können Sie Folgendes ausführen: /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysql_secure_installation Sie haben außerdem die Möglichkeit, den Test zu entfernen Datenbanken und anonyme Benutzer werden standardmäßig erstellt. Dies ist Es wird dringend für Produktionsserver empfohlen. Weitere Anweisungen finden Sie im Handbuch. Sie können den MySQL-Daemon wie folgt starten: cd /usr/local/mysql-5.5.19-linux2.6-x86_64 ; /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld_safe & Sie können den MySQL-Daemon mit mysql-test-run.pl testen. cd /usr/local/mysql-5.5.19-linux2.6-x86_64/mysql-test ; perl mysql-test-run.pl Bitte melden Sie alle Probleme mit dem Skript /usr/local/mysql-5.5.19-linux2.6-x86_64/scripts/mysqlbug! [1]+ Fertig /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysql_install_db --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64 Das Ergebnis war erfolgreich. Um es zusammenzufassen: 1. Die Initialisierung der MySQL 5.5-Version verwendet das Tool mysql_install_db anstelle des Tools mysqld 2. Die Initialisierung der MySQL 5.5-Version verwendet den Parameter --initialize Oben sind die Details eines Problems bei der Bereitstellung von MySQL 5.5 aufgeführt. Weitere Informationen zur Bereitstellung von MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: So sammeln Sie Nginx-Protokolle mit Filebeat
>>: Praxis der mehrschichtigen verschachtelten Anzeige von Elementtabellen
CSS-Layout – Positionseigenschaft Das Positionsat...
Allgemeine Kommentare in HTML: <!--XXXXXXXX--&g...
Heute ist ein weiterer sehr praktischer Fall. All...
Der spezifische Code lautet wie folgt: <Stil&g...
Inhaltsverzeichnis Projekthintergrund Start Erste...
Beim Schreiben eines Webprojekts stieß ich auf ei...
Gespeicherte Prozeduren und Codierung Wenn in ges...
Beispielsweise Benutzer, die eine Bildschirmleseso...
html <!DOCTYPE html> <html lang="de...
Was ist Docker-Compose Das Compose-Projekt entsta...
Dieser Artikel beschreibt das Beispiel eines gepl...
Inhaltsverzeichnis 0x01 Das Treibermodul konnte n...
Inhaltsverzeichnis [Siehe ein Beispiel]: [Der urs...
Da die Standardparameter des Linux-Kernels auf de...
Vorwort Aufgrund der Geschäftsanforderungen des U...