Contents
1. DiCEのインストール
ネットが切断されたり、ルーターが切断再起動したときにおこるグローバルIPの変更の度に、ダイナミックDNSにアクセスしグローバルIPが変更されたことを知らせなくてはいけません。その作業を自動的にやってくれるのがDiCEです
1. 1 Diceのダウンロード、インストール
①ダウンロード
1 2 3 4 |
# cd /usr/local/bin # wget https://centos.rcg.jp/download/DiCE.tar.gz --no-check-certificate # tar -xzvf DiCE.tar.gz # cd /usr/local/bin/DiCE |
②DiCEの設定
DiCEの出力文字はEUCのため、文字化けしてしまう。
UTF-8に変換するために、nkfをインストールしておく
1 |
# apt-y install nkf |
#64bitOSで32bitソフトのDiceを動かすため
1 |
# apt install lib32stdc++6 |
③DiCEを起動する
1 2 |
# cd /usr/local/bin/DiCE # ./diced | nkf -uw |
1. 2 イベントの追加
DNSサービスはVALUEDOMAIN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# ./diced | nkf -uw : add DynamicDNSサービス名を入力してください "?"で対応しているサービスを一覧表示します (P)戻る >VALUEDOMAIN ドメイン名を入力してください "?"でドメイン一覧を表示します (P)戻る ><ドメイン名> ホスト名を入力してください (P)戻る ><ホスト名> ログインユーザ名を入力してください (P)戻る ><ユーザー名> ←VALUEDOMAINに登録したユーザー名 ログインパスワードを入力してください (P)戻る ><passwd> ←VALUEDOMAINにログインするパスワード 登録するIPアドレスを入力してください 空白にすると現在のIPアドレスを自動検出します (P)戻る >空白 このイベントに題名を付けてください (P)戻る >xxxxxxxxx(適当に付ける) 実行する頻度を指定してください (番号入力) (0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回 (4)その他の周期 (5)IPアドレス変化時 (6)起動時 (P)戻る >5 IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると アカウントを削除されてしまうことがあります IPアドレスの変化が無い時に実行する間隔を指定してください (0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎 (4)35日毎 (5)56日毎 (6)84日毎 (P)戻る >0(任意に決める) このイベントを有効にしますか? (Y/N) (イベントの有効/無効は"EN/DIS"コマンドで切替えられます) >y イベントを保存しますか? (Y/N) >y |
1. 3 イベントの確認
1 2 3 4 5 6 7 8 |
: list (No.) (イベント名) (スケジュール) (次回予定) 0 * xxxxxxxxx IPアドレス変化時 (7日毎) 07/29 06:27ー 手動実行 :ex 0 + 7/22 6:33 にddns_valuedomainが実行されました IPアドレスを更新しました |
1. 4 Diceの自動実行
DiCEデーモンを起動する
1 |
# /usr/local/bin/DiCE/diced -d -l |
起動しているか確認
1 2 3 |
# ps aux | grep diced root 5346 12.2 0.0 5440 492 ? Ss 06:37 0:04 /usr/local/bin/DiCE/diced -d -l |
自動で起動するよう設定
1 2 3 |
# vi /etc/rc.local /usr/local/bin/DiCE/diced -d -l ←追加 |
/etc/rc.localがない場合
systemd になって、起動時に実行したいプログラムは、スクリプトを書いてサービスとして登録します。Debianの場合 /etc/rc.local を root で書いて実行ビットを立てておくと、rc-local というサービスによって自動的に実行されるようになっています。
/etc/rc.local新規作成する
# vi /etc/rc.local
#!/bin/sh
/usr/sbin/ethtool -s eno1 wol g
※ eno1は各自のネットワークインターフェース名(# ip addrで確認)
# chmod 700 /etc/rc.local
systemd になって、起動時に実行したいプログラムは、スクリプトを書いてサービスとして登録します。Debianの場合 /etc/rc.local を root で書いて実行ビットを立てておくと、rc-local というサービスによって自動的に実行されるようになっています。
/etc/rc.local新規作成する
# vi /etc/rc.local
#!/bin/sh
/usr/sbin/ethtool -s eno1 wol g
※ eno1は各自のネットワークインターフェース名(# ip addrで確認)
# chmod 700 /etc/rc.local
2. MySQL8.0への移行手順
旧サーバ MySQL5.6 データベース test-db データベースユーザー test-db-user
新サーバ MySQL8.0
2.1 新サーバでバックアップ
1 |
# mysqldump -u root -p [新パスワード] --all-databases --single-transaction |
2.2 旧サーバでの作業
①移行したいDBのdumpを取る
1 |
# mysqldump -u root -p --flush-logs test-db > test-db.sql |
②旧サーバのデータベースエンジンがMyISAMの場合、以下のコマンドでInnoDBに変換する必要がある
1 |
# sed -i 's/ENGINE=MyISAM/Engine=InnoDB/g' test-db.sql |
③取得したdumpはrsyncやscpなどで新サーバに持っていく
2.3 新サーバでの作業
①移行予定である新規データベースを作成
1 2 3 |
# mysql -u root -p mysql>create database test_db; MySQL8.0ではデータベース名に‐(ハイフン)が使えないので、_(アンダースコア)を使う |
1 |
# mysql -u root -p test_db < test-db.sql |
1 2 3 4 5 6 |
# mysql -u root -p mysql>create user test_db_user@localhost identified by '<PASSWD>'; ※<PASSWD>は任意に決める mysql> grant all on test_db.* to 'test_db_user'@'localhost'; mysql> flush privileges; mysql> exit |