Unix/Linux環境でMySQLのバイナリ・パッケージベースインストールをアップグレードする方法
Unix/Linux環境では、バイナリまたはパッケージベースでインストールされたMySQLをアップグレードできます。アップグレードの方法には「インプレースアップグレード」と「論理アップグレード」の2種類があり、状況に応じて使い分けることが重要です。ここでは、それぞれの方法の特徴と具体的な手順について詳しく解説します。
インプレースアップグレード
既存のMySQLサーバーをシャットダウンし、古いバイナリやパッケージを新しいものに置き換えます。
その後、既存のデータディレクトリを使用してMySQLサーバーを再起動します。
再起動後、アップグレードが必要な既存インストールの残りの部分が自動的にアップグレードされます。
RPMまたはDebianパッケージからMySQLをインストールした一部のLinuxプラットフォームでは、「systemd」サポートが含まれており、MySQLサーバーの起動・シャットダウンを効率的に管理できます。
このようなシステムでは、「mysqld_safe」コマンドはインストールされない点に注意してください。
論理アップグレード
論理アップグレードでは、旧MySQLインスタンスからSQLをエクスポートし、新しいバージョンへデータを移行します。まず、以下のコマンドを使用して既存のデータをすべてエクスポートします。
mysqldump -u root -p
--add-drop-table --routines --events
--all-databases --force > data-for-upgrade.sql
次に、以下のコマンドで旧MySQLサーバーをシャットダウンします。
mysqladmin -u root -p shutdown
続いて、以下のコマンドで新しいデータディレクトリを初期化します。
mysqld --initialize --datadir=/path/to/8.0-datadir &
初期化時に表示される一時的なrootパスワードを使用してログインし、以下のコマンドでrootパスワードをリセットします。
shell> mysql -u root -p
Enter password: **** <− 一時的なrootパスワードを入力
mysql> ALTER USER USER() IDENTIFIED BY 'your new password';
最後に、以下のコマンドで事前に作成しておいたダンプファイルを、新しく構築したMySQLサーバーにロードします。
mysql -u root -p --force < data-for-upgrade.sql
MySQL Clusterのアップグレード
MySQL Clusterをアップグレードする場合は、以下の順序で作業を行うことで、安全かつ確実にアップグレードを完了できます。
MGMノードをアップグレードします。
データノードを1つずつ順番にアップグレードします。
APIノード(MySQLサーバーを含む)を1つずつ順番にアップグレードします。
データディクショナリをアップグレードします。
システムテーブルをアップグレードします。
システムを再起動して完了です。
-
汎用バイナリを使ったUnix/LinuxへのMySQLインストール手順を徹底解説
MySQLのバイナリ配布物とはOracleは、MySQLのさまざまなバイナリ配布物を提供しています。その中には、多くのプラットフォーム向けに圧縮tarファイル(拡張子 .tar.xz)形式で提供される汎用バイナリ配布物や、特定のプラットフォーム向けにそのプラットフォーム固有のパッケージ形式で提供されるバイナリが含まれています。MySQLの圧縮tarファイル形式バイナリ配布物は、「mysql-VERSION-OS.tar.xz」という命名規則に従っています。「VERSION」はバージョン番号を表し、「OS」はその配布物が動作するオペレーティングシステムの種類を示しています。インストールの全体像圧
-
Unix/Linuxで実行可能バイナリの場所を調べる方法|whereisとtypeコマンドの使い方
UnixやLinuxシステムにおいて、実行可能なバイナリファイルがシステム上のどこに配置されているかを調べたい場面は少なくありません。そんなときに役立つのが、whereisコマンドとtypeコマンドです。 whereisコマンドとは whereisは、指定したファイルに関連するソースコード、バイナリ、マニュアル(manページ)のセクションが格納されている場所を検索して表示するコマンドです。 使用例 $ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz この例では、「ls」コマンドの実行バイナリが「/bin/ls」に存在し、マニュアルが「/us