Laden Sie zuerst die neueste komprimierte MySQL 5.7.17 Community-Version für Windows 64-Bit herunter: Offizielle Download-Adresse: http://dev.mysql.com/downloads/mysql/ Entpacken Sie es anschließend in das Installationsverzeichnis (zum Beispiel C:\Prog\MySQL\). Kopieren Sie anschließend my-default.ini nach my.ini und ändern Sie my.ini wie folgt: [mysql] Standardzeichensatz = utf8mb4 [mysqld] basedir = C:\Prog\MySQL Datenverzeichnis = C:\Prog\MySQL\data Port = 3306 max_verbindungen=200 Zeichensatzserver = utf8mb4 Sortierserver = utf8mb4_general_ci Standard-Speicher-Engine = INNODB Join-Puffergröße = 128 M Sortierpuffergröße = 2 M read_rnd_buffer_size = 2M sql_mode=KEIN_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES Öffnen Sie anschließend cmd als „Administrator“ – „Administrator“ ist dabei ganz wichtig –, gehen Sie in das Installationsverzeichnis und installieren Sie den MySQL-Dienst: C:\Prog\MySQL\bin>mysqld installieren Dienst erfolgreich installiert. Starten Sie dann den MySQL-Dienst: net start mysql Zuerst dachte ich, es wäre so einfach, aber es stellte sich heraus, dass es sich um einen Fehler handelte: Wird es über die „Dienste“ des Windows-Systems gestartet, lautet die Eingabeaufforderung: Das Problem war wirklich frustrierend. Nach langem Suchen stellte sich heraus, dass es Folgendes war: Wenn Sie MySQL mit dem Noinstall-Paket installiert haben, müssen Sie möglicherweise das Datenverzeichnis initialisieren:
Weitere Einzelheiten entnehmen Sie bitte diesen beiden Links: 2.3.5.4 Initialisieren des Datenverzeichnisses 2.10.1.1 Manuelles Initialisieren des Datenverzeichnisses mit mysqld Nachdem wir nun den Grund gefunden haben, initialisieren wir das Datenverzeichnis manuell: mysqld --defaults-file=C:\Prog\MySQL\my.ini --initialize-insecure Dann der Reihe nach: net start mysql mysql -u root -p Das bekannte mysql> sollte erscheinen. Ich hoffe, dies hilft Leuten, die auf ähnliche Probleme stoßen. Der Grund dafür ist, dass die komprimierte Paketversion 5.7.7 und höher so geändert wurde, dass eine manuelle Initialisierung des Datenverzeichnisses erforderlich ist. Es gibt keine allgemeingültige Technik. Sie müssen die Lücken auf dem Weg schließen. Meine Umgebung:
(Trennlinie, das obige MySQL 5.7.17 ist installiert.) Schließlich habe ich ein SQLAlchemy zum Testen von MySQL erstellt: """SQLAlchemy-Vorgang MySQL-Test""" von sqlalchemy importiere create_engine, Tabelle, Spalte, Ganzzahl, Metadaten von sqlalchemy.dialects.mysql importiere CHAR aus sqlalchemy.sql importiere Auswahl ENGINE = create_engine('mysql+pymysql://root:@127.0.0.1:3306/test?charset=utf8mb4') CONN = ENGINE.verbinden() USERINFO = Tabelle('userinfo', MetaData(), Spalte('id', Integer, Primärschlüssel=True, Autoincrement=True), Spalte('Name', CHAR(24, Zeichensatz='utf8mb4')), mysql_charset = "utf8mb4") BENUTZER = auswählen([BENUTZERINFO]) ERGEBNIS = CONN.execute(BENUTZER) für Zeile in RESULT: drucken(Zeile.Name) ERGEBNIS.schließen() CONN.schließen() Es stellt sich heraus, dass bei der Ausgabe der Ergebnisse ein Alarm ertönt: Warnung: (1366, „Falscher Zeichenfolgenwert: ‚\xD6\xD0\xB9\xFA\xB1\xEA...‘ für Spalte ‚VARIABLE_VALUE‘ in Zeile 480“) Was ist los? Wenn Sie alle Zeichensatzeinstellungen n-mal überprüfen, sollte es kein Problem geben ... Was haben Sie nach unzähligen Überlegungen und Experimenten herausgefunden? Was haben Sie gefunden? Ich habe festgestellt, dass ein Alarm erscheint, solange ich Variablen wie „% charac%“ anzeige! Schauen wir uns diese Warnung einmal an: Ist es nicht genau das? Ist das ein MySQL-Fehler? ! OMG! In Ordnung! Zurück zu MySQL 5.6.35! Der Alarm ist weg! Bauen Sie anschließend die Datenbank neu auf, erstellen Sie die Tabelle und testen Sie das Programm: Das ist in Ordnung, und schließlich bin ich zu MySQL 5.6.35 zurückgekehrt. Schreiben Sie Python in aller Ruhe, niemand streitet, und es gibt keinen Streit wie bei den Front-End-Entwicklern – die Jahre sind friedlich, und Python ist friedlich. Abschließend möchte ich Visual Studio Code ein Lob aussprechen: Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass einige meiner Erfahrungen Freunden helfen können, die auf dieselben Probleme stoßen. Wenn Sie Fragen haben, können Sie auch eine Nachricht hinterlassen, um zu kommunizieren. Das könnte Sie auch interessieren:
|
>>: So installieren Sie Nginx in CentOS7
Inhaltsverzeichnis 1. Geben Sie ein Verzeichnis e...
In diesem Artikel wird die Installations- und Kon...
In diesem Abschnitt lernen wir Listenelemente in ...
SQL-Anweisungen (Structured Query Language), also...
Der Befehl „Explain“ ist die primäre Möglichkeit,...
Wenn Sie benutzerdefinierte Zabbix-Skripte zum Sa...
1. Installation der RPM-Version Überprüfen Sie, o...
brauchen Vor Kurzem mussten wir die Node-Onlinedi...
In diesem Artikel wird der spezifische Code von J...
Dokumentation zur Zabbix-Bereitstellung Nach der ...
Inhaltsverzeichnis Überblick Umgebungsvorbereitun...
In diesem Artikelbeispiel wird der spezifische Co...
Viele Leute haben dieses Buch gelesen: „Entwickel...
Als ich zum ersten Mal mit Docker in Berührung ka...
In diesem Artikel wird der spezifische Code für d...