Mac TerminalからVB MySQLにssh接続する

Mac miniの開発環境にMySQLを加えましたので、ご紹介します。
今まではDBというとFileMakerでした。
今回はMySQLをLinuxに載せます。
Linuxは久しぶりです。コマンドなど殆ど忘れてしまっています。Linuxは、VineLinuxでプリンターサーバーを作ってみたことがあります。まあその程度で、それ以来です。
DB(DataBase)は、ファイルメーカーから切り換えるのではありません。追加的に必要になりました。
DBはAccessやSQLでも良かったのですが、Serverとして展開する際に、Secureな処理などは大変ですが、Serverコストがかからないというのがねらいの一つです。
SQLで無償版が使用出来るのは、マイクロソフトSQLの開発専用のもの、MariaDB、MySQLなどでしょうか。そんな中から、FaceBookやWordPressにも使われているというMySQLを最初にセレクトしました。
あくまでも開発用です。しかもmacOSを変更せず、VirtualBOXをたててLinux をセットしたいと考えています。そして、Mac端末または、WindowsPCからVBのMySQLとトランザクションするのが目的です。

1.最初に
使用PCは、Mac miniです。OSは10.14、 2.5GHz Intel Core i5、Late2012の8GB、1TB Fusion Driveを積んでいます。Mac miniはLinux専用機とせず、上記した如くmacOSにOracleのVirtualBox(以降VB)をInstallし、これにLAMP Serverを載せていきます。
Linuxもいろいろありますね。たくさんある中で、先ずはUbuntuをインストールすることにしました。

2.VBのインストール

最初はVBのインストールです(VBのInstall手順は省略致します)。これはMacにVBのサイトからダウンロードしてインストールすることで完了します。通常のアプリと同じです。問題も無く、インストールは問題なく完了しました。

3.Ubuntu16.04 LTSのインストール
Ubuntuは最新版ではなく、Ver16.04を北陸先端大のサイトからダウンロードしました。
ダウンロード手順は、Qiitaさんの投稿「VirtualBoxにUbuntu16.04をインストール」及び「Ubuntu 18.04にLAMP環境をインストールする」の手順などを参考にさせて頂き実行しました。16.04は、ファイルメーカーとODBCでつなぐことが出来る、MySQL5.7版が欲しかったからです。Ubuntu16.04をインストール出来た後、SQLやApache、phpはlamp-serverをセットインストールします(Ubuntu18でも良かったかもしれませんが)。

VB端末を起動し、インストールは以下のコマンドベースで行います。
$ sudo apt install tasksel
$ sudo tasksel install lamp-server
インストール後、htmlとphpを記述してみました。所定のフォルダーにサンプル.phpに加筆保存すると、問題なくWeb表示されていました。宅内サーバーをお持ちの場合は、Webページ展開も容易だと思います。
lamp-serverでインストールされたパッケージは次の通りです。

MySQL Distribution5.7.27 for Linux
Apache /2.4.18(Ubuntu)
PHP 7.0.33

ssh接続にはポート開放とsshサーバーが必要です。

4.ssh接続の準備
LinuxはDBサーバー利用が目的です。クライアントからssh接続とするため、もしアドレスがDHCP自動の時は固定に切り換えます。
Macでは、システム環境設定のネットワークで、IPアドレスを手入力に変え、現在の割り当てアドレスを固定します(IPV4を手入力にします)。

Ubuntuをインストールした直後は全部ポートが閉まっています。sshserverをインストールする前に、VMの端末で22番を開放します。
$ sudo ufw allow 22
$ sudo ufw reload

ssh-serverのインストールは以下の命令で行います。
$ sudo apt-get install openssh-server
openssh-serverはネットワークがつながってないとダウンロード出来ません。VBの80番ポートが空いていることが必要です。
この後、設定変更を有効にするため、PCをrebootし、その後openssh-serverをスタートさせます。
ssh接続する前に、VB内の端末でMySQLが起動できるか、予めチェックします。root以外の専用userを作成し、仮DBを作成し、権限を付与させておきます(MySQLのuser作成やDB作成は省略致します)。

5.設定とssh接続
Linuxの端末でMySQLを触れることが確認できたら、VBのネットワーク設定を少し変更します。自分は、VBのネットワークを次のスクリーンショットの様にブリッジにしました。ポートフォワーディングでも接続出来ます。どちらでも良いと思います。

ブリッジ設定は、VBの設定からネットワークを選びます。アダプター1を選択した後、割り当てをブリッジアダプターとします。名称はen0: Ethernetとなっています。これは使用する環境で異なります。この名称をメモしておきます。「高度」の設定はしません。

次に、Ubuntuの端末で、ゲストとなるVBのenアドレスを$ ifconfigで確認します。
端末に表示されたenpアドレスをメモします。アドレスは、ブリッジの時は、グローバルアドレス、ポートフォワードではLAN内のIPアドレになると思われます。

いずれにしても、Ifxonfigで見えるVBゲストのアドレスに向かって、Mac(Host側)ターミナルから接続を試みます。
Mac端末からのコマンドは、
$ ssh [ VBのログインuser名]@[ゲストOSのIPアドレス]で良いかと思います。
$ ssh ‘user_nama’@’ip-address’の書式です。

user_nameはVBインストール時に登録したuser名です。
このコマンドを打つと、鍵が発行され、known listに登録されます。その後、続いてパスワードが求められます。このパスワードは、VBインストール時に設定したパスワードを入力します。
これでMacから仮想OS LinuxのVBに接続されます。

VBにつながったら、続いてMacの端末でMySQLを起動してみます。
$ mysql -u mysql_user_name -p
mysql_user_nameは、LAMP差-バーのMySQLインストール時に設定したuser名です。この後入力するパスワードもMySQLのパスワードです。
下のスクリーンショットは、MacからMySQLが起動された画面です。

以降、アップデート、リモートクライアントからの接続拡張などが課題です。
この辺の所は別途投稿致します。

Kazunori Fukuma
1st投稿とリンク追加 2019/11/12
2nd 文言修正 2019/11/20
3rd インストールパッケージのVer名追加 2019/11/28

Pocket
LINEで送る

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください