くさび コンピュータにインストールされている MySQL のバージョンが比較的古く、おそらくバージョン 5.1 であったため、JSON フィールド機能がサポートされていませんでした。開発部門が開発した最新のエディター製品は、JSON フィールドの機能を使用します。 そのため、MySQL のバージョンをアップグレードする必要があります。アップグレードの対象バージョンは MySQL 5.7.30 です (最新バージョンは 8.x ですが、基本的には 5.7 で十分です)。 アップグレードとインストールのプロセス中にいくつかの落とし穴が見つかったので、この記事を使用してそれらを記録しました。 古いバージョンをアンインストールする まず、古いバージョンをアンインストールする必要があります。アンインストールは実際には非常に簡単です。MySQL サービスを削除するだけです。まず、CMD を開き、MySQL bin ディレクトリに cd して、次のコマンドを入力して MySQL サービスを削除します。
次に、古い MySQL 関連のフォルダと関連する環境変数の設定を削除します。
バージョン5.7.30をインストール 次のステップはバージョン 5.7.30 をインストールすることです。最初のステップはそれをダウンロードすることです。 MySQLをダウンロード ダウンロードアドレスは https://dev.mysql.com/downloads/mysql/ です。 MySQLを解凍する ダウンロード後、インストールしたいディレクトリに解凍します。たとえば、私のディレクトリは次のとおりです。 環境変数の設定 図に示すように、システム変数パスの後に D:\Program Files (x86)\mysql-5.7.30-winx64\bin を追加します。 設定ファイルmy.iniを作成する バージョン 5.7.30 のインストール パッケージには、デフォルトでは構成ファイル my.ini が付属していません。したがって、my.ini ファイルを自分で作成する必要があります。 my.ini ファイルを手動で作成し、次の内容を入力します。 [mysql] # mysqlクライアントのデフォルトの文字セットをdefault-character-set=utf8に設定します [mysqld] # ポート 3306 を設定 port = 3306 # mysql インストールディレクトリを設定します basedir=D:\Program Files (x86)\mysql-5.7.30-winx64 # mysqlデータベースのデータ保存ディレクトリを設定します。datadir=D:\Program Files (x86)\mysql-5.7.30-winx64\data # 最大接続数を実行する max_connections=200 # サーバーが使用するデフォルトの文字セットは、8 ビットの latin1 文字セットです。character-set-server=utf8 # 新しいテーブルを追加するときに使用されるデフォルトのストレージエンジン default-storage-engine=INNODB ここでは回避する必要がある落とし穴がいくつかあります。 my.ini 注 1 my.ini は ANSI 形式で保存する必要があります (構成ファイルはデフォルトで ANSI 形式でエンコードされ、誤って UTF-8 などの他の形式で保存される可能性があります)。そうしないと、後続のサービスが起動できなくなる可能性があります。 my.ini の形式がわからない場合は、次のように保存できます。 my.ini 注 2 以前のバージョンからバージョン 5.7 にアップグレードする場合は、以前の構成ファイルをコピーするだけで、以前の構成を保持できます。以前の低バージョンで使用されていた多くのパラメータは高バージョンには適さなくなっているため、この時点では注意が必要です。変更しないと、その後のサービスの起動は失敗します。 たとえば、私が遭遇したエラーの原因となったパラメータの 1 つは次のとおりです。 #table_cache=256 // 低バージョン table_open_cache=256 // 高バージョン 旧バージョンの設定を維持する必要があり、新バージョンのパラメータ変更に精通していない場合は、設定ファイルにログ機能を追加することができます。これにより、エラーが発生したときに、詳細をログで確認できます。 ログ パスを次のように構成します。
起動に失敗した後、次のようなログでエラーを確認できます。 その他の可能性のあるエラー パラメータ:
MySQLサービスをインストールする 最も重要なステップは、MySQL サービスをインストールすることです。 まず、cmd インターフェイスに入り、MySQL の bin ディレクトリに CD し (ここでは bin ディレクトリで実行する必要があることに注意してください)、次のコマンドを実行します。 mysqld --install [サービス名、デフォルトはMySQL] スクリーンショットは次のとおりです。 コマンドを実行すると、サービスが正常にインストールされたことを示すメッセージが表示されます。 注1 「サービスのインストール/削除が拒否されました」というエラー メッセージが表示される場合があることに注意してください。 その他の手順に実行権限がない場合は、管理者として実行してください。 注2 一部のコンピュータでは、MSVCP120.dll が見つからないというエラーが発生します。 このエラーは、vcredist がインストールされていないために発生します。vcredist のダウンロード アドレス: https://www.microsoft.com/zh-CN/download/details.aspx?id=40784 MySQLを初期化する MySQL 5.7 にはデータ ディレクトリがないため、MySQL を初期化してデータ ディレクトリを作成する必要があります。これも比較的簡単です。次のコマンドを実行するだけです。 mysqld --initialize-insecure --user=mysql ここで「mysqld --initialize」の使用を紹介している記事がいくつかあることに注意してください。「mysqld --initialize-insecure」と「mysqld --initialize」の違いは、前者は空のパスワードを作成し、後者はランダムなパスワードを作成することです。 したがって、ランダムなパスワードを出力するには、「mysqld --initialize」を使用し、できれば「--console」も使用してください(「--console」は Windows に限定されていることに注意してください)。 –user=msyql は主に、Linux または Unix システムで MySQL アカウントにデータ ディレクトリを承認するために使用されます。Windows で使用する必要はありません。 データ初期化の参照リンク: https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/data-directory-initialization.html 初期化が完了すると、データ ディレクトリが生成されます。 注1 初期化中にエラーが発生した場合: 「–initialize が指定されましたが、データ ディレクトリにファイルがあります。中止します。」 これは、データ ディレクトリを手動で作成し、そこにファイルが含まれている可能性があるためです (たとえば、アップグレード中にこれを行った可能性があります)。 この場合、データ ディレクトリを削除するだけで済みます。 後でアップグレードを検討できます。
MySQLサービスを開始する Windows で MySQL サービスを開始するには、次のコマンドを使用できます。
MySQLサービスのパスワードを設定する パスワードを設定するには、mysqladmin を使用します。 MySQL サービスを開始した後、次のコマンドを入力します。 古いパスワードを入力し(前の操作では、古いパスワードは空白です)、次に新しいパスワードを入力し、新しいパスワードを確認すると、設定が成功します。 注1 前回の初期化時にパスワードの初期化を行わず、誤って初期化パスワードを忘れてしまった場合、以下の問題が発生し、ログインやパスワードの変更ができなくなります。 次の手順に従って解決してください。 スキップ許可テーブルを追加 設定ファイル my.ini に skip-grant-tables を追加します。 MySQLサービスを再起動する まず MySQL サービスを停止し、次に MySQL サービスを開始します。 パスワードを変更する まず、次のようにして、mysql にログインします。この時点ではパスワードは必要ありません。 SQL ステートメントを使用してパスワードを変更するには、まず mysql を使用し、次にパスワードを更新します。 次に、mysql を終了します。 skip-grant-tablesを削除し、MySQLサービスを再起動します。 まず、my.ini から skip-grant-tables を削除し、net stop mysql と net start mysql を使用してサービスを再起動します。 古いMySQLデータを5.7にアップグレードする 古いデータをアップグレードするには、バージョン 5.x からアップグレードする場合は、基本的に、関連するデータ ファイルをデータ フォルダーにコピーするだけです。 innodb を使用する場合は、「ibdata」などのファイルをコピーする必要があることに注意してください。 それ以外の場合、レポートは存在しません。
Innodb は、トランザクション (行レベル) をサポートする MYSQL データベース用の一般的なデータベース エンジンです。ibdata はファイル データの保存に使用され、ライブラリ名を持つフォルダー内のテーブル ファイルは単なる構造です。MySQL の新しいバージョンではデフォルトで innodb が使用されるため、ibdata1 ファイルがデフォルトで存在します。このファイルが欠落していると、一部のデータ テーブルが失敗します。 アップグレード プロセス中にデータが破損した場合は、修復コマンドを使用して修復できます。
上記の操作が正常に完了したら、問題ありません。それでも問題が解決しない場合は、アップグレードコマンドmysql_upgradeを使用してデータをアップグレードしてみてください(このコマンドを使用してアップグレードすることもお勧めします。そうしないと、その後の問題の特定が困難になる可能性があります)。 //mysql をアップグレードします。mysql_upgrade は互換性のないテーブルをチェックし、許可テーブルを更新します。 mysql_upgrade -uroot -p アップグレードの速度はデータ ディレクトリのサイズによって異なります。 要約する MySQL 5.7.30 の詳細なインストールとアップグレードのチュートリアルに関するこの記事はこれで終わりです。MySQL 5.7.30 のインストールとアップグレードに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: nginx がドメイン名アクセス用に設定されている場合にドメイン名の後に 2 つのスラッシュ // が表示される問題の解決方法
なぜ詰まっているのでしょうか?言及しなければならない前提があります。フロントエンド開発者は皆、ブラウ...
目次運河マクスウェルデータバスAlibaba Cloud のデータ転送サービス (DTS)運河ポジシ...
目次セーフモード設定テスト1. where句なしで更新および削除する2. 非インデックスキーの削除3...
序文以前、ある会社の面接に行ったとき、面接官から「オブジェクトを深くコピーするにはどうすればよいです...
目次標準的な実行プロセス最適化並べ替えを削除並べ替え成し遂げる要約する標準の Group by ステ...
重要なデータはバックアップする必要があり、リアルタイムでバックアップする必要があります。そうしないと...
情報を探すインターネットで見つかったいくつかの方法: autocomplete="off&...
目次DockerコンテナのエクスポートDockerコンテナのインポートこの記事では主に、コンテナ...
序文この記事では、uniapp グローバル変数の実装方法をいくつかまとめています。詳細な知識は、uV...
カテゴリ選択を選択します。テストの結果、IE と FF はこの要素を適切にサポートできることがわかり...
Linuxシステムバージョン: CentOS7.4 MySQL バージョン: 5.7.28 Linu...
<br />思想が東西に分かれていた時代、東洋の叡智を代表するものの一つとして「禅」は多...
準備する: MySQL 8.0 Windows zip パッケージのダウンロード アドレス: htt...
目次ローカルミックスイングローバル ミックスイン要約するローカルミックスイン <テンプレート&...
実際には、対応する記述方法は多数ありますが、最も一般的なのは object + embedded で...