Linux MySQL 5.5 が MySQL 5.7 にアップグレードされました以下では、MySQL をアップグレードするための簡単な手順を紹介します。その後、123WORDPRESS.COM の編集者が、参考になる補足資料をいくつかまとめました。 1. mysql5.7.32をダウンロードする公式ダウンロードアドレス: https://dev.mysql.com/downloads/mysql/ 解凍
2. 古いmysql binディレクトリに入り、mysqlデータをエクスポートします。
3. 新しいmysqlルートディレクトリに入り、データを保存するデータディレクトリを作成します。
4. 新しく解凍したデータベースに対して、まず初期化コマンドを実行します。
PS: 上記のアップグレードは Cent OS 上で行われましたが、Kylin をアップグレードしたときに、上記のステートメントが認識されず、次の初期化ステートメントに置き換える必要があることがわかりました。 ./mysqld --defaults-file=../my.cnf --basedir=../ --datadir=../data --user=root --initialize 5. パスワードをスキップしてログインするmy.cnfの[mysqld]にskip-grant-tablesを追加する 6. サービスを開始する
7. パスワードを設定する新しいコマンドラインウィンドウでmysqlにログインする
8. サービスの停止設定ファイル内のskip-grant-tablesをコメントアウトする 9. サービスを開始する
10. 新しいコマンドラインログイン
現時点では、どのコマンドを実行しても、常に「このステートメントを実行する前に、ALTER USER ステートメントを使用してパスワードをリセットする必要があります。」というプロンプトが表示されます。 パスワードの設定 = PASSWORD('xxxx'); 11. MySQLに接続するための他のIPアドレスを設定する
12. 履歴データをインポートする
13. アップデートを実行する
14. アップグレード後、クエリステートメントでエラーが報告される場合があります。次のステートメントを実行できます。
以下は他のネットユーザーからのコメントです MySQL 5.5 から 5.7 へのアップグレード最近、MySQL をバージョン 5.5 から 5.7 にアップグレードするタスクがあります。これまでデータベースをアップグレードしたことがないので、試行錯誤しながら進めるしかありません。ネット上でたくさんの情報を見つけました。アップグレードする方法は2つだけです。 1. アップグレード方法1. 論理アップグレード: mysqldump を使用して SQL ファイルを直接エクスポートし、新しい MySQL5.7 データベースを作成し、エクスポートした SQL ファイルを新しいデータベースにインポートします。もちろん、この方法を使用する場合は、mysqldump ではなく mydumper を使用することをお勧めします。当社では大量のデータがあるため、この方法で処理しませんでした。 2. インプレース アップグレード: このアップグレード方法はシンプルで高速です。元の MySQL インストール ディレクトリと /etc/my.cnf 構成ファイルを直接置き換え、mysql_upgrade スクリプトを使用してシステム テーブルのアップグレードを完了します。 2. 環境の紹介当社の MySQL クラスターは Atlas の読み取り/書き込み分離を使用しており、MySQL プロキシの下に 4 つのデータベース サーバーがあります。 マスター: 172.16.100.1 スレーブ1:172.16.100.2 スレーブ2:172.16.100.3 奴隷3:172.16.100.4 現在のデータベースバージョン: "5.5.21 設定ファイル: /etc/my.cnf データディレクトリ: /data/mysql オペレーティングシステムのバージョン: CentOS6.9 3. アップグレードのアイデアオンライン業務を中断することはできないため、まずスレーブの 1 つをクラスターから追い出し、MySQL 5.7 にアップグレードすることにしました。次に、MySQL 5.7 デバイスをクラスターに追加しました。データが同期された後、マスター ノードとスレーブ ノードを切り替え、他のスレーブ ノードをアップグレードしました。 4. 練習4.1. mysql-proxyにログインし、スレーブの1つをクラスタから追い出す
バックエンドプロキシライブラリを表示する
+-------------+-------------------+--------+------+ | backend_ndx | アドレス | 状態 | タイプ | +-------------+-------------------+--------+------+ | 1 | 172.16.100.1:3306 | アップ | rw | | 2 | 172.16.100.2:3306 | アップ | ro | | 3 | 172.16.100.3:3306 | アップ | ro | | 4 | 172.16.100.4:3306 | アップ | ro | +-------------+-------------------+--------+------+ セット内の行数は 5 です (0.00 秒) 4.2. MySQLのインストールディレクトリを置き換えるmysqlの公式ウェブサイトにアクセスし、mysql5.7バージョンmysql-5.7.23-linux-glibc2.12-x86_64.tar.gzをダウンロードします。 mysql5.7を解凍する
以前の mysql ディレクトリがリンクとして作成された場合は、リンクをキャンセルして再度リンクするだけです。
以前の mysql ディレクトリがリンクされていない場合は、名前を変更して別の mysql ディレクトリをリンクします。
4.3. MySQLサービスを開始するMySQL 5.7 以降では、データベースを初期化する必要はありません。つまり、mysql_install_db コマンドを実行する必要はありません。
エラーがある場合はログ情報を確認してください 4.4. システム テーブルのデータ ディクショナリ情報を更新します。コマンドは次のとおりです。
出力は次のようになります。 「ALTER TABLE ** FROCE」というエラー プロンプトが表示される場合がありますが、これらのエラーについては心配しないでください。MySQL は後で自動的に修復します。データベースの状況によっては、修復時間が少し長くなる場合があります。今回はアップグレードに 2 時間以上かかりました。 最後に、出力が「アップグレード プロセスが正常に完了しました」であれば、アップグレードが成功したことを意味します。 4.5. アップグレード後にMySQLを再起動する/usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --basedir=/usr/local/mysql --user=mysql & アップグレードが完了したかどうかを確認します。アップグレードが成功した場合、出力は次のようになります。 このMySQLのインストールはすでに5.7.23にアップグレードされています。mysql_upgradeを実行する必要がある場合は、--forceを使用してください。 4.6.マスタースレーブ構成を再構成するマスタースレーブ構成をやり直す
「はい」が 2 つある場合は正常であることを意味します。 4.7 読み取り書き込み分割クラスタへの参加mysql-proxyデバイスに移動する
状態が up の場合、クラスターが正常に参加したことを意味します。 追記: データベースのアップグレードは初めてで、全体的なアイデアが正しいかどうかわからなかったので、最初にテスト環境でテストし、数日間テストして問題がないことを確認した後、オンラインでアップグレードを実行しました。参考用です。 MySQL 5.5 から 5.7 へのアップグレード中に遭遇した落とし穴経緯はこうです。当社には、5.5 の古い MySQL バージョンがいくつかあります。最近、プロジェクトがアップグレードされ、いくつかのフィールドが追加されました。spring-data-jpa を使用してテーブル構造を自動的に更新すると、MySQL バージョン 5.5 ではテーブルのデフォルト値として 2 つ以上の current_timestamps をサポートしていないため、エラーが報告されました。したがって、データベースのアップグレードを検討する必要があります まずサーバーのバージョンを確認してください もう一度ソースを見てください ちなみに、弊社はAWSのEC2を利用しているので、ソースはすべてamzから取得しています。 yum update mysql-server を試しましたが、効果がなかったので、続行しました。 オンラインでいろいろと読みましたが、まず古いバージョンのデータベースをアンインストールしてから、新しいバージョンのデータベースをインストールするようにと書いてありました。では、データはどうしたらいいのでしょうか? 安全のため、まずデータベースを 1 つずつバックアップしました。MySQL データベースにも多数のユーザーと権限があることがわかったので、MySQL もバックアップしてから作業を開始しました。 1. データベースをアンインストールする
しかし、ここでのインストールは異なるようなので、今 yum が見つけたものをすべてアンインストールしました。 アンインストールする前に MySQL サービスをオフにすることを忘れないでください。そうしないと、新しいバージョンをインストールした後、mysql --version を使用して MySQL ログインが 5.7 か 5.5 かを確認し、サービスを再起動すると、さまざまな問題が発生します。一部のファイルが削除されなかったため、新しくインストールされたデータベースは非常に奇妙に見えました。 。 。 2. 新しいデータベースをインストールする
まず、利用可能なバージョンを確認してください。これについては何も言うことはありません。
インストールしても大丈夫です。何がインストールされているか見てみましょう 奇妙なことに、mysql-config はまだ 5.5 に依存していますが、使用時に問題は見つかりませんでした。 3. 構成インストール後、次のmy.cnfを変更します。 私のサーバーは /etc/my.cnf にあります。他のイメージが変更されたかどうかはわかりません。 設定時に、データ保存スペースがまだあることをふと思い出し、使えるか確認するために設定してみました。 そこで、my.cnf に次の行を追加しました (5.5 の多くの設定は非推奨になっており、以前の my.cnf は削除する必要があります。そうしないと、起動時にエラーが報告されます) 設定後、サービスを決定的に開始します
案の定、私はエラーを報告しました 起動ログを確認しました
しまった、どうすればいいんだ?Google で検索したら、次の記事を見つけました: https://support.plesk.com/hc/en-us/articles/115001659169-MySQL-fails-to-start-mysql-user-table-is-damaged 具体的な解決策は以下のとおりです a. サーバーホストにログインする b. c. サービスmysqldの開始 d.mysql_アップグレード e. サービスmysqldを再起動する mysql_upgradeを実行しました 公式ドキュメントを確認したところ、アップグレード後に互換性がないものが多数あるという一般的な意味です。公式では、以前のワークスペースを修復するためのこのスクリプトを提供しています アップグレードはシームレスでした。MySQL データベース内のすべてのユーザーは以前のデータベースに残っていたため、影響を受けませんでした。 アップグレードが完了しました Linux MySQL 5.5 を MySQL 5.7 にアップグレードする詳細な手順に関するこの記事はこれで終わりです。MySQL 5.5 から 5.7 へのアップグレードに関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
序文一般的な開発では、画像をディレクトリにアップロードし、ディレクトリとファイル名を連結してデータベ...
数日前、ある要件に取り組んでいたとき、MySQL で重複レコードをクリーンアップする必要がありました...
テーブル構造とそのデータをコピーする次のステートメントは、データを新しいテーブルにコピーします。注:...
Alibaba Cloud Dockerコンテナサービスの設定Alibaba Cloud Image...
ソフトウェア開発者は、ネットワーク アプリケーションがどのように動作するかを階層的に完全に理解してい...
Safari (Technology Preview 106) および Firefox (バージョン...
オープンプラットフォームの増加に伴い、そこから派生するさまざまなアプリケーションサービスも増加傾向に...
プロジェクトの要件は、日付と時刻を選択し、現在の時刻以降の時刻のみを選択し、最小レベルを分単位で無効...
<br />フレーム構造により、ブラウザの 1 ページに複数の Web ページを同時に表...
構造関連タグ--------------------------------------------...
Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト...
1. ビジネスシナリオ最近はファイルのアップロードやダウンロードに関する開発をしています。ダウンロー...
この記事では、Centos7.3でのmysql5.7.18のインストールと初期パスワードの変更につい...
sudo コマンドを使用すると、信頼できるユーザーは別のユーザー (デフォルトでは root ユーザ...
この記事は主に、MySQLを再インストールする際のクリーンでないアンインストールのさまざまな問題をま...