【導入実績300社以上】AWS 構築・運用保守サービス

【導入実績300社以上】AWS 構築・運用保守サービス

【サーバー管理不要】WordPress専用クラウド『WebSpeed』

【サーバー管理不要】WordPress専用クラウド『WebSpeed』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【CPU】AMD EPYC 技術検証(PoC)サービス

【CPU】AMD EPYC 技術検証(PoC)サービス

【Webシステム / サービス開発】SAKARAKU Lab(セカラクラボ)

【Webシステム / サービス開発】SAKARAKU Lab(セカラクラボ)

【取材記事】サーバー系企業ビヨンドが サーバーサイドエンジニアを募集中

【取材記事】サーバー系企業ビヨンドが サーバーサイドエンジニアを募集中

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

古いバージョンのLinuxサーバのHDDが故障した時にMySQLを復旧する方法

ビヨンドの原岡です。

古いサーバーがハードディスクの破損によって起動しなくなった時に、データファイルだけでなくMySQLのデータを復旧するための手順を簡単にまとめました。

今回はMySQL 3.23.58のデータを復旧します。
※データ復旧は様々な要因が絡みますのであくまで参考としてご確認ください。

ハードディスク復旧業者さんにデータを復旧してもらう

まずは故障したHDDの復旧が必要です。

下記のように自前で復旧できる場合もありますが、失敗すると状況が悪化する恐れもありますので業務データなどが入っている場合はできるだけ確実に復旧するためにハードディスクの復旧業者を使った方が良いかと思います。

素人でもできるHDDの修理と復旧方法
http://macasakr.sakura.ne.jp/HDD

業者さんもかなりいろいろなところがありますが、私のおすすめ業者はくまなんPCネットさんです。
https://www.kumanan-pcnet.co.jp/hdd/info.php

実は業者の中でも技術力はかなり差があるのですが、くまなんPCネットさんは15年の実績があり、自社にクリーンルームも持っていて、高い技術力に基づいた復旧対応をしてくれます。

復旧用のサーバを構築

  • 構築用のサーバを準備する

適当な筐体を用意してデータベース復旧用のサーバーを構築していきます。まずはMySQLが稼働していたサーバーのOSバージョンを確認しておきます。

cat /復旧ディレクトリ/etc/redhat-release

バージョン情報が手元にない場合は、復旧してもらったデータのディレクトリから
redhat-releaseのファイルを確認します。


古いOSはi386i686などの32bit版の場合もあります。64bitのCPUでも32bit版のOSはインストールできますが、メモリを4GBまでしか認識できないため、メモリを多めに積んである筐体は抜いておいた方が無難です。

  • 古いバージョンのLinuxOSをインストールする

今回はCentOSをこちらのサイトを参考に
http://www.linuxmaster.jp/linux_blog/2010/03/centos.html

このサイトからダウンロードします。
http://vault.centos.org/
上記サイトはCentOS2.1以降がダウンロードできるという素晴らしいサイトです。
今回はCentOS4系をダウンロードさせていただきました。

MySQLをダウンロード

こちらからインストール用ファイルを拝借
http://dbstudy.info/mysql/

ここにもあります。
http://live.dadanini.at/mysql/downloads_html/mysql-3.23.html

MySQLをインストール

ソースファイルからビルドします。

  • インストール用ディレクトリとユーザの作成
cd /usr/local/src/
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
mkdir /usr/local/mysql
mkdir /usr/local/mysql/var/
chown -R mysql:mysql /usr/local/mysql

  • MySQLのインストール
tar -zxvf mysql-3.23.58.tar.gz
cd mysql-3.23.58/
./configure --prefix=/usr/local/mysql

make
make install
  • インストールDBの作成
scripts/mysql_install_db
  • mysql起動
/usr/local/mysql/bin/safe_mysqld --user=mysql &

※mysqld_safeではないので注意

  • 起動確認
ps -ef | grep mysql
  • ログインしてみる(パス無し)
mysql -u root
  • rootパスワードの設定
mysqladmin -u root password "*****"
  • mysql停止
/usr/local/mysql/bin/mysqladmin -u root -p shutdown

これで復旧の準備はOK

復旧したデータファイルを入れ替え

HDDを復旧した先からMySQLのデータファイルを丸ごとアップロード

文字化けの可能性もあるので、できれば圧縮して移動した方がよいです。

  • アップロードしたファイルを解凍
gunzip /home/hogehoge/mysql_buckupdata.gz
  • データファイルのディレクトリごと移動
mv /usr/local/mysql/var /usr/local/mysql/var_tmp

cp /home/hogehoge/mysql_buckupdata /usr/local/mysql/var
  • 権限変更
chown -R mysql:mysql /usr/local/mysql/var
  • iblogfileの削除
rm /usr/local/mysql/var/ib_logfile*
  • DBの起動

mysql起動・停止

/usr/local/mysql/bin/mysqld_safe --user=mysql &

これで起動すればひとまず復旧はOK

DBのエクスポート

mysqldump -u root -p db名 > /home/hogehoge/new_buckup.dmp

復旧したデータをエクスポートしておく

以上でデータ復旧は終わりです。

もし復旧などでお困りのことがあればビヨンドまでお問合せくださいませ。

https://beyondjapan.com/contact

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
276
facebook twitter はてなブックマーク

この記事をかいた人

About the author

原岡昌寛

株式会社ビヨンドの代表取締役です。

Oracle DBA(UNIX、Linux、Windows SeverでDBのお世話)
⇒Linuxエンジニア(DCでサーバー、FW、L3などをまるっと構築・運用)
⇒クラウドエンジニア(マルチクラウドAWS、GCP、Azure等)
⇒経営者

趣味は読むこと。マンガ、ネット小説、ビジネス書などなんでも読みます。最近ソロキャンプをはじめました。