まず、Windows 64 ビット用の最新の MySQL 5.7.17 コミュニティ圧縮バージョンをダウンロードします。 公式ダウンロードアドレス: http://dev.mysql.com/downloads/mysql/ 次に、インストール ディレクトリ (C:\Prog\MySQL\ など) に解凍します。次に、my-default.ini を my.ini にコピーし、my.ini を次のように変更します。 [mysql] デフォルトの文字セット=utf8mb4 [mysqld] ベースディレクトリ = C:\Prog\MySQL データディレクトリ = C:\Prog\MySQL\data ポート = 3306 最大接続数=200 文字セットサーバー=utf8mb4 照合サーバー=utf8mb4_general_ci デフォルトのストレージエンジン=INNODB 結合バッファサイズ = 128M ソートバッファサイズ = 2M 読み取りバッファサイズ = 2M sql_mode=NO_ENGINE_SUBSTITUTION、STRICT_TRANS_TABLES 次に、「管理者」として cmd を開きます - 「管理者」は非常に重要です。インストール ディレクトリに入り、MySQL サービスをインストールします。 C:\Prog\MySQL\bin>mysqld インストール サービスが正常にインストールされました。 次に、MySQL サービスを開始します。 ネットスタートMySQL 最初はとても簡単だと思ったのですが、間違いであることが判明しました。 Windows システムの「サービス」を通じて起動された場合、プロンプトは次のようになります。 この問題は本当にイライラさせられました。長い間調べた結果、次のことがわかりました。 Noinstall パッケージを使用して MySQL をインストールした場合は、データ ディレクトリを初期化する必要がある場合があります。
詳細については、次の 2 つのリンクを参照してください。 2.3.5.4 データディレクトリの初期化 2.10.1.1 mysqld を使用してデータディレクトリを手動で初期化する 理由がわかったので、データ ディレクトリを手動で初期化してみましょう。 mysqld --defaults-file=C:\Prog\MySQL\my.ini --initialize-insecure 次に、順番に: ネットスタートMySQL mysql -u ルート -p 見慣れたmysql>が表示されます。 これが同様の問題に遭遇した人々の役に立つことを願っています。その理由は、圧縮パッケージ バージョン 5.7.7 以降では、データ ディレクトリの初期化を手動で行う必要があるように変更されたためです。 すべての人に当てはまるテクニックは存在せず、途中で穴を埋めていく必要があります。 私の環境:
(区切り線、上記MySQL 5.7.17がインストールされています。) 最後に、MySQL をテストするための SQLAlchemy を作成しました。 「SQLAlchemy 操作 MySQL テスト」 sqlalchemy から create_engine、テーブル、列、整数、メタデータをインポートします sqlalchemy.dialects.mysqlからCHARをインポート sqlalchemy.sqlからインポートを選択 ENGINE = create_engine('mysql+pymysql://root:@127.0.0.1:3306/test?charset=utf8mb4') CONN = ENGINE.connect() USERINFO = テーブル('userinfo', メタデータ()、 列('id'、整数、主キー=True、自動増分=True)、 列('name'、CHAR(24、文字セット='utf8mb4'))、 mysql_charset = 'utf8mb4') USER = select([USERINFO]) 結果 = CONN.execute(USER) 結果の行: print(行名) 結果.close() CONN.close() 結果が出力されるとアラームが発生することがわかります。 警告: (1366、「行 480 の列 'VARIABLE_VALUE' の文字列値 '\xD6\xD0\xB9\xFA\xB1\xEA...' が正しくありません」) 何が起こっているのか?すべての文字セット設定を n 回確認すれば問題はないはずです... 数え切れないほどの思考と実験を経て、何を発見しましたか?何を見つけましたか? '% charac%'; のような変数を表示する限り、アラームが表示されることがわかりました。 この警告を見てみましょう: まさにそれじゃないですか?これはMySQLのバグでしょうか? !ああ、神様! よし! MySQL 5.6.35に戻ります! 警報が消えました! 次に、データベースを再構築し、テーブルを作成して、プログラムをテストします。 これは問題なく、最終的に MySQL 5.6.35 に戻りました。 静かに Python を書いてください。誰も喧嘩しませんし、フロントエンド開発者のような喧嘩もありません。何年も平和で、Python も平和です。 最後に、Visual Studio Code を高く評価したいと思います。 要約する 上記はこの記事の全内容です。私の経験が、同じ問題に遭遇した友人の役に立つことを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることもできます。 以下もご興味があるかもしれません:
|
<<: JavaScript におけるイベント委譲メカニズムと深いコピーと浅いコピーの簡単な分析
1. PPTP VPNを構築するには、ポート1723とGREプロトコルを開く必要があります。 1. ...
目次01 GTIDの紹介02 GTIDの仕組み03 GTIDの利点と欠点04 テスト環境構築05 テ...
レプリケーションとは、マスター データベースの DDL および DML 操作をバイナリ ログを介して...
目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...
FirefoxでBGMを再生するための推奨コードがテストに合格しました空のコントロールパネルを開いて...
目次主キー制約ユニーク制約主キー制約PRIMARY KRY 主キーは一意です。テーブルには主キーを ...
1. Docker公式サイトにアクセスするまず、Dockerの公式ウェブサイトにアクセスして、最新の...
目次ファイルアップロードのための2つのソリューションファイルストリーム(フォームデータ)に基づくクラ...
今日は、CSS を使用してアニメーションの再生と一時停止を制御する非常に簡単なトリックを紹介します。...
目次アイデア傍受を要求するレスポンスインターセプションhttpClient.tsを使用してリクエスト...
目次前提TypeScript と JavaScriptコードエディタの選択TypeScriptを学ぶ...
場合によっては、ページにプロンプト ボックスやバブル ボックスが必要になることがあります。CSS...
序文MySQL には次の 4 種類の演算子があります。算術演算子比較演算子論理演算子ビット演算子これ...
目次序文いくつかの一般的なビット操作ビットAND (&)ビットOR (|)ビット否定(~)マ...
目次1. 関数バインディング2. パラメータと$eventを使用する3. 1つのイベントに複数の関数...