wordpress の Mysql DB バックアップと Maria DB へのインポート

wordpress の Mysql DB バックアップと Maria DB へのインポート

GMOクラウドで構築した wordpress から
ConoHa VPS へ移行するため
mysql のバックアップを行う

WordPressサイトの移行手順まとめ(mysqldumpから別環境移行まで)

を参考にやってみる

DBの内容が多かったのが原因なのかは不明だけど
プラグインで実行しようとしたらできなかったので
mysqldump コマンドでバックアップすることに

データ容量が大きい場合,bzipでは圧縮は比較的早いが解凍に時間がかかるため
gzip を使ったほうがいいらしい

MySQLでバックアップ&圧縮をまとめて行うコマンド

でも バックアップと圧縮をパイプでまとめて行っている

バックアップのためのディレクトリを作成したいので

mkdir -p /var/www/backup/db_bak
chmod 777 /var/www/backup/db_bak

で作成して

個別のDBバックアップ圧縮なら

mysqldump -u username -h localhost -p databasename | gzip > mysqldump.sql.gz

すべてなら

mysqldump -u username -h localhost -p -A | gzip > mysqldump.sql.gz

でできるようだ

なお、復元に関しては
解凍&復元を同時に行う(zcat+mysql)

zcat mysqldump.sql.gz | mysql -u username -p databasename

とあるのでこれを行うには
zcat が必要になりそう

–all-databases  は
mysqldump のオプションで
全DBバックアップという意味

とりあえずバックアップしたファイルを sftp でダウンロード

今回は
mysql_backup_20181011.dump.gz
というファイルにしてダウンロード

mysql を MariaDB にインポートするので
後々問題になったときのため
バージョンを調べておくことに

/usr/local/mysql/bin/mysql --version

で調べたら

/usr/local/mysql/bin/mysql  Ver 14.14 Distrib 5.5.27, for Linux (x86_64) using  EditLine wrapper

なので
ver 5.5.27 みたい

次に

scp -p mysql_backup_20181011.dump.gz snowpool@サーバIP:/home/snowpool/

で公開鍵認証 scp で圧縮ファイルを転送

念の為
MariaDB のバージョンを

mysql --version

で確認したら

mysql  Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1

またmysql のホスト名の違いについては

show variables like 'hostname';

で確認

DB全部バックアップしたものを復旧するなら

 mysql -u root < /vagrant/dump.sql

でよさげなので
MariaDB のデータを mysqldump でバックアップ・リストアする

を参考に実践

単純に

 zcat mysql_backup_20181011.dump.gz | mysql -u root -p

でできた

これで mysql のデータを maria DB にインポートできたので
次は virtualhost の設定をして
wordpress のインストールを行います

Ubuntu 16.04 LTS の準備

https://www.ubuntulinux.jp/News/ubuntu1604-ja-remix
へアクセスし
ISOイメージをダウンロード

今回は
北陸先端科学技術大学院大学

経由でダウンロード

次にISOイメージをDVDへ書き込み

書き込みには Ubuntu にインストールした k3b を使用

k3b を起動し More actions… をクリック

k3b

Burn Image をクリックし
空DVDをいれて

start をクリック

k3b2

あとは終了をまって close をクリック

k3b3

これで インストールDVDは準備OK

次にバックアップのための外付けHDDの準備

もし、重要データがあっても、バックアップがあれば復元可能

Linuxで外付けドライブをマウントがどうのこうの
http://nu-pan.hatenablog.com/entry/20140508/1399534550

を参考に実行し、ディスク情報の確認

sudo parted -l 

を実行

fdisk だと 2TB 以上のものは使えないようなので

モデル: ATA WDC WD10EARX-00N (scsi)
ディスク /dev/sda: 1000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  992GB   992GB   primary   ext4              boot
 2    992GB   1000GB  8570MB  extended
 5    992GB   1000GB  8570MB  logical   linux-swap(v1)


モデル: I-O DATA HDCZ-UT (scsi)
ディスク /dev/sdf: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前                          フラグ
 1    17.4kB  134MB   134MB                     Microsoft reserved partition  msftres
 2    135MB   3001GB  3000GB  ntfs              Basic data partition          msftdata

mkfsコマンドでUbuntuのハードディスクのフォーマットを端末から実行する

http://ubuntuapps.info/blog-entry-691.html

を参考に

次に

df -h 

を実行し、残りの容量と、使用可能な容量を確認

使用可能な容量は Avail
使用している容量については Used に表示される

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           797M  1.4M  796M   1% /run
/dev/sda1       909G  421G  443G  49% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            3.9G  352K  3.9G   1% /run/shm
none            100M   56K  100M   1% /run/user
/dev/sdf2       2.8T  174M  2.8T   1% /media/snowpool/HDCZ-UT

今回の結果はこのとおり
とりあえず現状では半分使用していてまだ余裕がありそう

次にフォーマットしたいデバイス、今回は外付けHDDで
パスが /dev/sdf2 をアンマウント

 sudo umount /dev/sdf2 

次にファイルシステムの種類を
mkfs.ext4 でext4 でフォーマットし
-L オプションを使ってラベルを設定

sudo mkfs.ext4 /dev/sdf2 -L "UbuntuBackup"

これでフォーマットはできたけど
このままだと root のみしか使えない

hdd

なので

sudo chown snowpool /media/snowpool/UbuntuBaup/

を実行し
権限を変更することで、読み書き可能となりました

webサービス開発の準備

webサービスの開発と Android クライアントアプリを作成するため
環境を用意したいけど、ノートPCのHDDがすでにいっぱいのため
一度バックアップとってから初期化することに

なお、デスクトップもバックアップしようとしたけど
両方合わせると容量は2GB必要なため
USB 3.0対応の外付けHDD を購入することにしました

今回購入したのは

なお、電源をとろうとしても
すでにコンセントがいっぱいのため
コンセント差し込みの部分が稼働するものを購入

これで到着後に外付けHDD にデータをバックップ後
ノートパソコンを現状の Ubuntu 14.04 から
Ubuntu 16.04 LTS に変えようと思います

バックップ完了後、vagrant + virtualbox のインストール
を行い、centos 3台のサーバ構成を実験予定です

なお、開発する言語は php rails android python の予定になります

今後の予定では Ansible を使って
再度 環境構築するときに面倒にならないようにする予定です

13歳以下の子供がAppleIDを作成するにはファミリー共有設定が必要

AppleIDの作成は、満13歳以上でないとダメでした

この場合、保護者がサインインして

ファミリー共有設定しないと作成できません

設定方法は

ファミリー共有設定 で検索し

https://support.apple.com/ja-jp/HT201084

を参考に実践

使用していたiPod touchの

iOS が ver9 のものだったため

設定 > iCloud > 

ファミリー共有を設定

をタップしかし、そこから先に進めなかったので

MacBookAir から設定することにしました

どの端末から行うとしても、最初に

支払い方法の追加をする必要があり

クレジットカードの登録、もしくはキャリア決済を必要とします

このあたりの解説は

https://support.apple.com/ja-jp/HT201084

に書かれています

今回、 iPod touch にしたのは

決済の不安を消すためでしたので、

とりあえずはクレジットカードを登録します

次に子供のためのApple ID を作成します

ここからは再び ipod touchでやります

設定 > ファミリー共有 > 家族を追加 で

お子様用のAppleIDを作成

をタップ

生年月日、名前、メルアドを入力します

なお、ドメインは

@icloud.com

になります

これで後はアカウント設定で

子供用に作成したアカウントを入力すればokです

ディズニーモバイルの設定

au からdocomoへNMP しました

今回は、家族のものです

入院してるときにスマホが壊れたため

修理依頼したのですが

htc j という2012年のもので

修理には1万800円かかるとのこと

ちょうど、ディズニーモバイルのDM-01J

これがNMPと端末購入サポートで

1万5千円ぐらいで購入できるので

こちらへ変更

商品詳細は

http://www.disney.co.jp/mobile/d/dm01j.html

を参考に

今回の壊れた原因は

入院してるときに、子供に充電端子を舐められ

これが原因で中の基盤が錆びてしまい

電源も入らないという状態に

ちなみに、キャップはしてあったけど

1歳になると、外して舐めてしまうため

油断したのが原因でした

なお、修理中のときの代替機では

NMP申請ができないため

au ショップでのNMP申請となりました

au の場合、ネットからはNMP申請できず

店舗、もしくは電話からの申請となります

なお、店舗ならNMP番号のかかれた紙が

渡され

電話なら、聴きそびれてもSMSで

NMP番号が送られてくるので心配はありません

なお、店舗で行うと、余ってるau ポイントで

何か購入するか聞かれましたので

今回は食べ物関連にしました

アクセサリーなどは端末依存しますし

変更するのはiPhoneではないので

なお、今回は、新生児を連れてになってしまうため

docomoショップでは

委任状を使ったNMPとなりました

本人が行けない場合、

委任状

免許証などの本人確認できるもの

NMP番号

委任された人の免許証など

が必要になります

なお、auショップへNMPの申請や

修理中の代替機の返却は委任状では

できないようなので、本人が行くことになりました

端末そのものは、すでにmydocomoから

端末予約しておいてあり、

料金プランなどもすでに決めていたため

特に問題はありませんでした

なお、docomoの場合

ドコモ光とあわせると割引になりますが

あくまでこれは主回線のみであり

家族全員が割引にはならないようです

また、シェアパックも適用されるのは

翌月からとなり

新規の場合だと

カケホライト 1700円

sp モード 300 円

データSパック 3500円

ケータイ保証サービス 500円

トータルで6千円が初期の金額になります

なお、翌月からは、子回線扱いのため

カケホライト 1700円

sp モード 300 円

シェアオプション 500円

ケータイ保証サービス 500円

でトータル3千円となります

ただ、主回線が家族でシェアになり

シェアパック5になるため

現在の

データMパック 5000円

から

シェアパック5 6500円になります

シェアパックにしないと子回線は作れません

ここから、ドコモ光の割引

800円が割引になり

5700円になります

格安SIM と比べれば割高ですが

代替機が用意できなかったときの問題や

使う本人が詳しくないとトラブルになるため

今回はdocomoへNMPとしました

それでも、かつてのau のプランで

毎月8600円よりは安くなります

これで、端末は変更できたので

まずGoogleアカウントの設定

すでに5年前なので、パスワードは忘れたとのこと

GooglePlayを起動し

電話番号を入力

次に、パスワードを要求されるけど

忘れてるため

名前を入力

するとSMSで確認コードが送られてきて

画面がパスワード再設定画面になるので

新しいパスワード再設定

これで、パスワード再設定ができたので

後はGoogleの機能が追加されてるので

同意しますをタップし、有効化します

これでGooglePlayが使えるようになったので

次にWi-Fiの設定

DDM-01Jの場合、操作が変わってて

横へスライドだけでなく、縦にもスライドするため

最初は操作に戸惑います

次に、Twitterの設定

これもパスワード再設定が必要で

メールアドレスをGmailにしてあったので これも簡単に終わりました

後はクックパッド

印刷に必要なEPSON Print

そして、ディズニーモバイル関連は

docomoメールが鍵になるため

メールアドレスをランダムのものから変更

設定するときに初期は

ネットワーク暗証番号が0000なので

これを変更

これで、任意のメルアドにできるので

次に、MyDocomoの設定

MyDocomoはdocomoメールは使えないため

Gmailで登録

あとは、ディズニー関連の設定なので

Disneyマーケットを起動し

空メールを送信すれば設定画面になるので

そのまま設定してきます

次に、LINEの設定

ログイン で

メルアドとパスワード設定してあれば

問題ないのですが

メールアドレス未登録の場合 

番号認証をしても

LINEでメルアドが登録してログインできるようにしてないと

新規アカウント作成するしかないため

新しくアカウント作成することになります

なお、他にアカウント作成が必要なものが

多々あるため

パスワード管理ソフト

KeepassDroid

で管理することにしました

マイナンバーカード作成

今年の医療費がかなりかかり

さらに今後の確定申告を電子申告にするため

マイナンバーカードの作成

今年は確定申告へ会場へ行ったところ

4時間ほど待つことになったため

さすがに次回からは待たなくてよくしたいので

マイナンバーカードをつくるときに

申請書ID

が必要になるけど

引っ越しした場合、このIDが変更になるため

一度市役所で

個人番号カード交付申告書

電子証明書発行/更新申告書

を発行してもらう必要があります

しかもこれ、平日しかやってないという面倒なもの

とりあえず、発行してもらったら

https://net.kojinbango-card.go.jp/SS_SERVICE_OUT/FA01S001Action.do

へアクセス

スマホからやるとしても

最初に配布された個人番号の紙でない場合

QRコードがないため

URLからリンクしないとダメでした

ここで必要なのは

申請書ID

メールアドレス

ここで、これらを入力すると

メールアドレスに登録のためのURL

が送られてくるので

そのリンクへアクセス

ここでは、写真が必要になるため

スマホから行うと楽にできます

写真と生年月日をいれれば

あとは完成ですが

注意点としては電子証明書を不要に

チェックしてしまうと

e-Taxができなくなるため

e-Taxを行う予定があればこの機能はつけておきましょう

Ansibleモジュール

get_url:

wget コマンドみたいに

ダウンロードができるモジュール

url=

にはダウンロード先のurlを指定

dest=

には保存先のパスを指定

次に

unarchiveモジュール

これは tar コマンドみたいに

ファイルを展開するもの

–  name:  rubyの展開

   unarchive: 

     src=/tmp/ruby.tar.gz

     dest=/tmp

     copy=no

というように

src= には

展開したいファイルのパス

dest= には

展開先

copy=

にはコピーするかしないか

次にshellモジュール

これはシェルでの実行を指定できる

–  name:  rubyのインストール
   shell:  chdir=/tmp/{{  rubyver  }}  ./configure  –disable-install-doc

–  name:  make  ruby

   shell:  chdir=/tmp/{{  rubyver  }}  make

–  name:  make  install  ruby

   shell:  chdir=/tmp/{{  rubyver  }}  make install

というように指定する

あとsql 関連としては

postgresql_userモジュールがあり

これは

postgresql でユーザー作成するモジュール

–  name:  PostgreSQL  redmine  user作成
   postgresql_user:
     name=redmine

     password={{  password }}

というように

name=

へユーザー名

password=

へパスワード

を設定する

Ansibleと playbook

Ansibleは対象サーバーに多数の設定を一度に投入することが多いため

普通はansibleコマンド実行にはならない

複数処理させるなら

playbookをつくることになる

playbookは YAML 形式になり

拡張子は

.yml になる

–  hosts:  all
   tasks:
    –  name:  slコマンドのyumインストール

       yum:  name=sl

というplaybookなら

– hosts: には対象サーバーのIPを記述

もし all ならすべて対象になる

tasks:

のところには

処理する内容を記述していく

– name:

の部分は、ラベルやコメントのようなものなので

日本語でもok

あとは、この下へ処理を書いていく

今回はyum で sl をインストールするので

yum: name=sl

となる

ここまでの内容を

yum.yml

としてplaybookとして保存し

実行するには

ansible-playbookコマンドを使う

今回なら

ansible-playbook yum.yml

となる

ちなみにAnsibleでは

処理は重複しないので

2回実行しても設定済みと表示されるだけになる

​Ansible メモ

Ansible メモ

CentOS7.2 だと

標準リポジトリにAnsibleがないため

EPELリポジトリを使う

yum  install  epel-release

なお、最新版のAnsible 2.0を使うなら

epel-testingリポジトリを有効化すること

yum  install  ansible  –enablerepo=epel-testing

yum  install  ansible

だけだと

Ansible 1.9.4 がインストールされるので

yum  install  ansible  –enablerepo=epel-testing

とすること

これなら、最新版がインストールされる

なお、古くても

これを実行すれば最新版になる

なお、Ansibleのバージョン確認は

ansible  –version

でできる

Ansibleの実行コマンドは

ansible サーバーIP モジュールオプション モジュール名

となり

例を書くと

ansible 192.168.1.100 -m ping

これで

pingが実行されるコマンドになる

ただし、Ansibleは

セキュリティーのため

hosts ファイルに書かれているIPでしか

実行できないため

これをやらないとコマンドは失敗になる

なので

次にAnsibleを使うための設定

Ansibleを使うなら

対象サーバーへ接続する設定が欲しいという理由のため

今回、実行してるのはCentOS7.2

このosでのhostsファイルの場所は

/etc/ansible/hosts

になる

書き方は

192.168.1.100

というようにIPを書くだけでok

なお

-i オプションをつければ

別のファイルを指定することもできる

ただし、わかりにくくなるから

デフォルトのものを使うのがおすすめ

しかし、これだけでもまだエラーになる

これは

Ansibleを使うには認証が必要だから

今回は公開鍵認証を使うことに

ssh-keygen

で鍵を作成

ssh-copy-id 192.168.1.100

鍵を安全に転送

Ansibleコマンドの詳細は

ansible –help

で確認できる

また、モジュール詳細については

ansible-doc モジュール名

で調べられる

例えば pingモジュールなら

ansible-doc ping

とすればok

空気清浄機を購入するとき選んだこと

最近、インフルエンザの流行と
子供の風邪対策、そして自身の健康管理を考え
空気清浄機を購入しました

なお、機種やその他必要な機能に関しては

空気清浄機おすすめ2016!手堅い評価ランキング

を参考にさせていただきました

必要な機能としては
乾燥対策のため加湿機能あり

壁とのスペースを作りたくないので
全面吸気や横面吸気であること

これは、子供が壁とのすきまに入り込み倒す可能性があるためでした

あたりはずれがあることを考え
最初はレンタルでお試しする予定でしたが
レンタルで借りれるものは、背面吸気のシャープ製のものだけでしたので

いろいろと考えた結果
MCK70T-W
を購入することにしました

また ウイルス対策に効果があるらしいので
バイオ抗体フィルター
も購入してみました

実際に購入し
使用していますが夜に青LEDがまぶしいのが気になります

ただモードにお任せモードがあり
これにしておけば加湿と空気清浄をしてくれるので面倒さはありません

タンクの水ですが、満水にしてから2日ほどは持ちます