Dieser Artikel implementiert die Funktion
Lösen Sie den von discuz gemeldeten run_sql_error-Fehler bei der Installation von MySQL8.0
Wenn Sie die Lösung direkt sehen möchten, gehen Sie direkt zur Problemlösung Verzeichnis
VMware Virtual Machine
Centos7.3
PHP7.0
MySQL8.0
NGINX1.14
Discuz3.4
Die lokale Umgebung ist PHP5.6+MySQL5.6 und es gibt kein Problem Discuz installieren.
Das folgende Problem tritt auf den Centos der virtuellen Maschine auf. Die MySQL-Tabelle kann nicht erstellt werden und der Installationsfehler wird gemeldet
Da das Erstellen von Screenshots vom Centos-Terminal umständlich ist, werden alle unten aufgeführten Umgebungsänderungen auf xshell durchgeführt und direkt auf dem Host-Computer aufgerufen.
Informationen zum Konfigurieren der Verwendung von xsheel zum Herstellen einer Verbindung mit einer virtuellen Maschine
Der Verbindungsmodus ist NAT und die Tools wurden installiert
Verwenden Sie xsheel, um eine Verbindung herzustellen. Die virtuelle Maschine verwendet ifconfig, um die IP-Adresse zu überprüfen
und stellt dann das Kontokennwort ein ist das Passwort Ihres virtuellen Maschinenkontos
Die Verbindung ist erfolgreich und es sieht wie folgt aus: Sie können PHP -v eingeben, um die PHP-Versionsinformationen anzuzeigen
Das andere ist FTP, weil es benötigt wird. Um etwas zu übertragen, habe ich auch das FTP des Hosts verwendet, um eine Verbindung zur virtuellen Maschine herzustellen. Geben Sie auf die gleiche Weise die IP-Adresse und den Port 22 ein
Nach erfolgreicher Verbindung können Sie die Datei der virtuellen Maschine abrufen
Die Hauptursache dieses Problems ist die MySQL-Version. Die von discuz unterstützte Version ist PHP5.3, alle Datenbankdateien werden jedoch auf MySQL5.5 erstellt. Daher wird der Zeichensatz verstümmelt.
Zu diesem Zeitpunkt öffnen wir /etc/my.ini. Dies ist die Standardkonfiguration unten. Dies ist der Fall, wenn die MySQL-Master-Slave-Replikation zuvor konfiguriert wurde Daten konfigurieren zu lassen.
Fügen Sie den folgenden Code zu dieser Datei hinzu
init_connect='SET NAMES utf8' default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci default_authentication_plugin=mysql_native_password
In mysql8.0 sind alle Speicher-Engines innodb , also die Die Standardeinstellung hier ist innodb
Der Zeichensatz ist auf utf8 eingestellt
default_authentication_plugin zum Ändern des Kennwortüberprüfungs-Plug-ins
Nach der obigen Konfiguration testen wir es
Geben Sie http://192.168.254.130/forum/install/index.php in die Adressleiste ein und fahren Sie dann mit dem nächsten Schritt fort. Geben Sie hier Ihr Datenbankkonto-Passwort ein
Klicken Sie auf „Bestätigen“ und es wird kein Fehlerbericht angezeigt
Besuchen Sie einfach das Forum OK
Anzeigen der Datenbank
Die Gesamtzahl der angezeigten Tabellen beträgt 292 Tabellen
Gehen Sie dann zur lokal installierten Datenbank und überprüfen Sie, ob die Zahl ebenfalls 292 ist
Das Obige ist die Lösung für den Discuz-Installationsfehler in MySQL8.0. Obwohl nur wenige Konfigurationszeilen erforderlich sind, kann er nicht in kurzer Zeit behoben werden.
Das obige ist der detaillierte Inhalt vonWie Discuz den Fehler run_sql_error während der Installation behebt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!