Azure VM (Ubuntu) の MySQL 環境構築

Azure Virtual Machine (Azure 仮想マシン) の Ubuntu (LINUX) を使って、MySQL 環境 (リモート接続環境、データベース作成まで) を構築する手順のメモ MySQL のインストール Azure Virtual Machine を構築したら、まずは、MySQL をインストール。 SSH, Putty などのターミナルから (リモートで) ログインをおこない、以下のコマンドを入力すれば OK。

sudo -s
sudo apt-get install mysql-server

下記の通り入力 (MySQL に root でログイン) して、正しくインストールされたかどうか確認。

// login to mysql
mysql -u root -p
// check status
mysql> status

MySQL の停止と起動は下記の通り入力する。

sudo service mysql stop
sudo service mysql start
(または sudo service mysql restart)

Database の作成 つぎに、MySQL にログインして Database を作成する。

// login to mysql
mysql -u root -p
// create database
mysql> create database testdb character set utf8;

作成されたデータベースを確認するには以下の通り。

mysql> show databases;

Remote 接続の設定 つぎに、MySQL Workbench、コマンドユーティリティ (mysql コマンド等) からリモートで管理できるように、リモート接続の設定をおこなう。 まず、作成した Azure Virtual Machine で [Settings] – [Endpoints] を選択し、MySQL の Port 番号 3306 の Endpoint を追加する。(この Endpoint を開けておく。) set_endpoints つぎに、MySQL 側でリモート接続ができるように、vi /etc/mysql/my.cnf  で下記の箇所を編集 (変更) する。 Host (Server) の IP Address は、ifconfig で確認できる。(inet addr と書かれている箇所) 変更前

bind-address = 127.0.0.1

変更後

bind-address = [Host の IP Address]

MySQL にログインし、今回は root で Remote Access できるように、下記の通り権限付与しておきます。 今回は、root に、すべてのホストからのすべての権限を付与しています。

grant all privileges on testdb.* to root@"%" identified by
  '[root password]' with grant option;

下記を実行すると、mysql.user テーブルに root@% が登録されているのがわかります。

select user, host from mysql.user;

+-------+-----------------+
| user  | host            |
+-------+-----------------+
| root  | %               |
| root  | 127.0.0.1       |
| root  | ::1             |
| root  | localhost       |
| ...   | ...             |
|       |                 |
+-------+-----------------+

以上で、Remote の環境から、MySQL のコマンド ユーティリティ (mysql コマンド等) や MySQL Workbench を使って接続できるようになります。 例えば、下記の通り入力して、あるデータベースから、別のデータベースに、オブジェクト (テーブル、データなど) を移行できます。

cd [mysql dir]/bin
mysqldump -u [username] -p[password] -h[hostname] [database name]
  --add-drop-table > [save file path]
mysql -u[username] -p[password] -h[hostname] --default-character-set=utf8
  [database name] < [read file path]
cd C:\Program Files\MySQL\MySQL Server 5.6\bin
mysqldump -u root -pP@ssw0rd -hmyserver01.cloudapp.net testdb01
  --add-drop-table > C:\tmp\db.sql
mysql -uroot -pP@ssw0rd -hmyserver02.cloudapp.net
  --default-character-set=utf8 testdb02 < C:\tmp\db.sql
Advertisements