9回目-15.MySQLデータ移行

さくらVPSCentOS 7 2週間無料のお試し期間 9回目

一覧

 状態:-  閲覧数:482  投稿日:2018-03-23  更新日:2018-03-29

内容


旧サーバでmysqldump実行
新サーバ「セキュリティ」設定変更。rootログイン禁止 → rootログイン許可。公開鍵認証許可 → 公開鍵認証禁止。パスワード認証禁止 → パスワード認証許可
旧サーバ → 新サーバ。エクスポートしたmysqldumpデータをrsync実行
新サーバにおいて、「rsyncで受け取ったmysqldumpデータ」をMySQLへインポート
「mysqldump -u root -p --all-databases」出力結果をimportしたことによる影響
新サーバ「セキュリティ」設定変更。rootログイン許可 → rootログイン禁止。公開鍵認証禁止 → 公開鍵認証許可。パスワード認証許可 → パスワード認証禁止

注意事項


以下に掲載した内容は、後から振り返った、あくまでも理想と思われる手順である
・この通り進めたわけではない
・実際は、前回に引き続き今回もトラブル続きだった

旧サーバでmysqldump実行

 閲覧数:125 投稿日:2018-03-23 更新日:2018-03-29 

mysqldumpオプション


--routinesオプション
・--routinesオプションを付けて取ったバックアップには、ルーチンを再作成するためのCREATE PROCEDUREおよびCREATE FUNCTION文が含まれる
・プロシージャや関数がある場合はこのオプションを付ける必要がある

mysqldump実行


DBデータクスポート
・16:38 → 16:39
$ sudo mysqldump --single-transaction --routines -u root -p --all-databases > mysqlallbackup20180329.dump

今回は試さなかったが、下記何れかの方が良いかも
$ sudo mysqldump --single-transaction --routines -u root -p --all-databases > mysqlallbackup_`date +%Y%m%d%H%M%S`.dump
$ sudo mysqldump --single-transaction --routines -u root -p --all-databases > mysqlallbackup_`date +%Y%m%d`.dump


新サーバ「セキュリティ」設定変更。rootログイン禁止 → rootログイン許可。公開鍵認証許可 → 公開鍵認証禁止。パスワード認証禁止 → パスワード認証許可

 閲覧数:105 投稿日:2018-03-23 更新日:2018-03-29 

新サーバ現状設定


ポート番号(を22番より)変更
rootログイン禁止
公開鍵認証許可
パスワード認証禁止


下記三者間で、rsyncするためには?


クライアント
・秘密鍵

旧サーバ
・公開鍵
・rsync起点

新サーバ
・公開鍵
・rsync終点

AサーバのCentOSにある/var/www/を、BサーバのCentOSにある/var/www/へコピーしたいのですが

新サーバ現状設定変更


rootログイン禁止
→ rootログイン許可

公開鍵認証許可
→ 公開鍵認証禁止

パスワード認証禁止
→ パスワード認証許可

rootログイン禁止 → rootログイン許可


$ sudo vi /etc/ssh/sshd_config
#PermitRootLogin no
PermitRootLogin yes

$ sudo systemctl restart sshd.service

公開鍵認証許可 → 公開鍵認証禁止
$ sudo vi /etc/ssh/sshd_config
#PubkeyAuthentication yes

$ sudo systemctl restart sshd.service

パスワード認証禁止 → パスワード認証許可


$ sudo vi /etc/ssh/sshd_config
#PasswordAuthentication no
PasswordAuthentication yes

$ sudo systemctl restart sshd.service


旧サーバ → 新サーバ。エクスポートしたmysqldumpデータをrsync実行

 閲覧数:129 投稿日:2018-03-24 更新日:2018-03-29 

rsync


-aオプション
・--archive
・-rlptgoD と同じ

-tオプション
・タイムスタンプを維持したまま書き換える
・しかし、rsync途中の段階では異なる
・rsync処理途中の流れとしては、最初から「タイムスタンプを維持したまま」書き換えるわけではなく、一旦現在日時で書き換えを行い、後からタイムスタンプで書き直していく
・具体的には、rsync開始直後の更新日時は一旦全て作業日時(例えば2018/3/29 15:04)となるが、しばらく経過すると「異なる日時(タイムスタンプを維持した日時)」へ書き換わっていく

旧サーバ → 新サーバ


エクスポートしたmysqldumpデータのrsync実行
$ sudo rsync -e "ssh -p ポート番号" -ahvz /home/★★/mysqlallbackup20180329.dump root@◇◇.vs.sakura.ne.jp:/home/★★/mysqlallbackup20180329.dump


16:42 → 16:43
# rsync -e "ssh -p ポート番号" -ahvz /home/★★/mysqlallbackup20180329.dump root@◇◇.vs.sakura.ne.jp:/home/★★/mysqlallbackup20180329.dump
root@◇◇.vs.sakura.ne.jp's password: 
sending incremental file list
mysqlallbackup20180329.dump


16:43
sent 198.21M bytes  received 31 bytes  2.43M bytes/sec
total size is 1.24G speedup is 6.23


新サーバにおいて、「rsyncで受け取ったmysqldumpデータ」をMySQLへインポート

 閲覧数:138 投稿日:2018-03-24 更新日:2018-03-30 

pvインストール


MySQL インポートの進捗表示
・MySQLなどのダンプデータを読み込むときに進捗を表示する
$ sudo yum -y install pv
[sudo] password for ★★: 
読み込んだプラグイン:fastestmirror, langpacks
base | 3.6 kB 00:00:00
epel/x86_64/metalink | 6.5 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 3.4 kB 00:00:00
mysql-connectors-community | 2.5 kB 00:00:00
mysql-tools-community | 2.5 kB 00:00:00
mysql57-community | 2.5 kB 00:00:00
nginx | 2.9 kB 00:00:00
remi-safe | 2.9 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/5): epel/x86_64/updateinfo | 907 kB 00:00:00
(2/5): extras/7/x86_64/primary_db | 185 kB 00:00:00
(3/5): updates/7/x86_64/primary_db | 6.9 MB 00:00:01
(4/5): epel/x86_64/primary_db | 6.3 MB 00:00:01
(5/5): remi-safe/primary_db | 1.2 MB 00:00:01
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.riken.jp
* extras: ftp.iij.ad.jp
* remi-safe: mirrors.thzhost.com
* updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ pv.x86_64 0:1.4.6-1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=============================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=============================================================================================================================================================
インストール中:
pv x86_64 1.4.6-1.el7 epel 47 k

トランザクションの要約
=============================================================================================================================================================
インストール 1 パッケージ

総ダウンロード容量: 47 k
インストール容量: 93 k
Downloading packages:
pv-1.4.6-1.el7.x86_64.rpm | 47 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : pv-1.4.6-1.el7.x86_64 1/1
検証中 : pv-1.4.6-1.el7.x86_64 1/1

インストール:
pv.x86_64 0:1.4.6-1.el7

完了しました!


「mysqldumpデータ」をMySQLへインポート実行


$ sudo pv mysqlallbackup20180329.dump | mysql -h localhost -u root -p

# pv mysqlallbackup20180329.dump | mysql -h localhost -u root -p
Enter password: 
1.15GiB 0:03:04 [6.39MiB/s] [=============================================================================================================>] 100%



確認


phpMyAdminへ反映させるためには?
・左上項目の一番右にある更新アイコンクリックが必要

「mysqldump -u root -p --all-databases」出力結果をimportしたことによる影響

 閲覧数:100 投稿日:2018-03-25 更新日:2018-03-25 

importする前に新サーバで作成した全権ユーザ□□を再度作成


新サーバのDB内容は、今回インポートした内容に全て置き換えられた
・mysqlデータベース`user`テーブルも!
・その結果、事前に作成したユーザ□□(pmaに相当するユーザ)も削除された
・「mysqldump -u root -p --all-databases」出力結果をimportする前に新サーバで作成した全権ユーザ□□のデータはもはやどこにも存在しない
・その結果、config.inc.php内容との間に乖離が生じている

全権ユーザ□□を新サーバにて再度作成
GRANT ALL PRIVILEGES ON *.* TO □□@localhost IDENTIFIED BY 'パスワード';  


新サーバ「セキュリティ」設定変更。rootログイン許可 → rootログイン禁止。公開鍵認証禁止 → 公開鍵認証許可。パスワード認証許可 → パスワード認証禁止

 閲覧数:115 投稿日:2018-03-25 更新日:2018-03-30 

rootログイン許可 → rootログイン禁止


$ sudo vi /etc/ssh/sshd_config
PermitRootLogin no
#PermitRootLogin yes

$ sudo systemctl restart sshd.service

公開鍵認証禁止 → 公開鍵認証許可


$ sudo vi /etc/ssh/sshd_config
PubkeyAuthentication yes

$ sudo systemctl restart sshd.service

パスワード認証許可 → パスワード認証禁止


$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication no
#PasswordAuthentication yes

$ sudo systemctl restart sshd.service





9回目-14.phpMyAdmin 4.7.9 インストール&設定

9回目-16.MySQLデータ移行。迷走履歴



週間人気ページランキング / 9-18 → 9-24
順位 ページタイトル抜粋 アクセス数
1 Nginx設定。エラーログレベル | Nginx(Webサーバ) 17
2 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 14
3 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 12
4 PHPのmb_send_mail関数でメール送信できない | メール処理システム 10
5 ImageMagick と imagick の違い | ImageMagick(ソフトウェアスイート) 9
6 さくらVPS0 8
6 tar: これは tar アーカイブではないようです 8
7 manページ日本語表示 | CentOS 7 (CentOS) 7
7 Reached target Shutdown メッセージが表示されたあと、シャットダウンまたは再起動プロセスがハングアップする | CentOS 7 (CentOS) 7
8 ABRT により 問題が検出されました | CentOS 7 (CentOS) 6
8 PHPファイルでchmodエラー | PHP(プログラミング言語) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
8 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 6
9 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 5
9 echo と cat の違い 5
10 phpMyAdmin 4.4.3(phpMyAdmin) カテゴリー 4
10 6回目-10.Nginxでバーチャルホスト設定確認 | CentOS 7 2週間無料のお試し期間 6回目(さくらVPS) 4
10 「さくらVPS」で、「CentOS6」を「CentOS7」へ変更するためには? | CentOS 7 2週間無料のお試し期間 Link(さくらVPS) 4
10 cronで定期実行しているphpファイルを、コマンドライン経由で即時実行する | cron(Linuxコマンド) 4
10 MySQL 5.5 から 5.6 へのアップグレード | MySQL(データベース) 4
2021/9/25 1:01 更新