ネット上の情報をつなぎ合わせれば簡単にできるのですが、自分用にまとめておきたかったのでメモ。
事前準備
ローカルのIPアドレスを認証してもらうためにCORESERVERのサイト設定 ▶︎ ツール/セキュリティーから「SSH接続IP許可」ボタンを探してクリックしておきます。
公開鍵認証にする
公開鍵/秘密鍵のペアがなければ ssh-keygen
で作成します。
コントロールパネルからサイト設定 ▶︎ FTP設定でFTP/SFTP接続情報を見ることができます。
以下のPORTのところにはSFTPポート、USER_ACCOUNTのところにはアカウント、HOSTのところにはホストを入力してください。
sftp -P PORT USER_ACCOUNT@HOST
USER_ACCOUNT@HOST's password:
と聞かれるので先ほどの画面で確認したパスワードを入力します。
sftp> put <path-to-your-home>/.ssh/id_rsa.pub .ssh/
ローカルの方は絶対パスではないとダメなので手で入力するか、Terminal上にid_rsa.pubファイルをドラッグ&ドロップします。
id_rsa.pubの名称を変更したいので一度パスワードでログインします。
ssh USER_ACCOUNT@HOST
先ほど同様パスワードを聞かれるので入力して、以下のコマンドで名前を変更します。
mv .ssh/id_rsa.pub .ssh/authorized_keys
これで公開鍵認証できたはずです。
SSH Configを設定する
毎回ユーザー名とホストを入力するのは面倒なので、ローカルの~/.ssh/configに設定を書き加えて簡単にSSHできるようにします。
Vimでもテキストエディタでも良いので~/.ssh/configを開いて、以下のような設定を書き加えます。
Host coreserver
HostName HOST
User USER_ACCOUNT
IdentityFile ~/.ssh/id_rsa.pub # 名前がid_rsa.pubのままの場合はデフォルトで指定されるのでこの行は不要
Port 22
TCPKeepAlive yes
IdentitiesOnly yes
SSHサーバーを再起動すると、
launchctl stop com.openssh.sshd
以下のコマンドだけでコアサーバーに接続できるようになっているはずです。
ssh coreserver
データベースを複製する
サイトの速度が気になっているのでリニューアルを検討しています。
色々試すのはDockerを使うのが便利そうなのですが、実際に速度を測定するのはサーバーでしたいなと思ったので、いじれるようにデータベースを複製しようと考えました。
単純にexportしてimportします。
以下のコマンドはコアサーバーにSSHしている前提です。
データベースの情報は、コントロールパネルのデータベースタブから、該当(最初は複製元)のデータベースの情報を見てください。
DB_USERにはDBユーザー名、DB_NAMEにはDB名を入れて下記のコマンドを走らせてください。
なお、CORESERVERではDBユーザー名もDB名もどちらも同じになると思います。
mysqldump -uDB_USER -r export.sql --single-transaction DB_NAME -p
パスワードを聞かれると思うので先ほど確認した情報のパスワードを入力します。
次に、このデータをインポートします。
コントロールパネルのデータベースタブから「データベースの新規作成」ボタンをクリックして、そこで決めたDBユーザー名、DB名をそれぞれNEW_DB_USER、NEW_DB_NAMEとして以下のコマンドを実行してください。
mysql -uNEW_DB_USER NEW_DB_NAME < export.sql -p
同様にパスワードを入力することで、データベースの複製ができました。