くさび コンピュータにインストールされている 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 つのスラッシュ // が表示される問題の解決方法
この記事では、MySQL 8.0.24のインストールチュートリアルを参考までに紹介します。具体的な内...
私は長い間問題に取り組み、文法上の問題を何度も確認しました。しかし、後でネットで調べてみたら、突然理...
技術初心者として、初めて Linux システムをインストールするプロセスを記録しています。まず、Wi...
フロントエンドで画像をアップロードする原理は、入力 type="file" タグ...
序文インデックスが順序付けられていることは誰もが知っていると思いますが、MySQL の以前のバージョ...
この記事では、花火効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具...
1. ロゴに代替テキストを追加するこれには 2 つの利点があります。スクリーン リーダーがロゴ画像の...
目次序文SSHとは何かssh は何に使用されますか? sshの使い方ssh 再修正要約する序文ssh...
Ubuntu 16.04 に MySQL 5.7 をインストールするにはどうすればいいですか?メイ...
プロファイルを使用して遅いSQLを分析するMySQL の SQL パフォーマンス アナライザーの主な...
ドラッグ機能は主に、ドラッグによる並べ替え、ポップアップ ボックスのドラッグと移動など、ユーザーがカ...
title: vue は vue-meta-info を使用して各ページのタイトルとメタ情報を設定...
1. CSSファイルの命名規則提案: 文字、_、-、数字を使用します。文字で始まる必要があり、純粋な...
この記事は主にMySQLデータ移行方法とツールの分析を紹介します。サンプルコードを通じて詳細に紹介さ...
この記事では、MySQL 8.0.13のインストールと設定のチュートリアルを参考までに紹介します。具...