本ブログは、オラクル・クラウドの個人ブログの1つです。
初めに
環境情報
MySQL バージョン:MySQL Enterprise Edition
Marketplace イメージ:8.4.2-1
接続ツール:Tera Term 5.0, MySQL Workbench 8.0
目次
1. OCI MarketplaceからのMySQLインスタンスの作成
イメージの変更 → Marketplace → "mysql"を検索
インスタンスの入力項目は、通常のインスタンス作成時と同様です。この例では次の通りです。その他の項目はデフォルトのままで問題ありません。
- インスタンス名:mysql-marketplace (ホスト名が未入力の場合、インスタンス名と同じになる)
- VCNとサブネット:プライベート・サブネットで作成する
- SSHキー:パブリック・キーをアップロードする
項目を入力した後、作成ボタンをクリックすると、インスタンスの作成が開始されます(約1分で完了します)。
2. MySQLインスタンスへの接続
接続クライアントは、同じVCN内に配置されているWindowsサーバーです。踏み台(またはNLB)を経由すれば、ローカルからの直接接続も可能です(この例では省略します)。
事前準備
- Tera TermとMySQL Workbenchはインストール済。
- MySQLインスタンスのNSG(or セキュリティリスト)に、次のようにイングレス・ルールを追加する。
ソースCIDR: 接続元(Windowsサーバー)のIP
プロトコル: TCP ポート:22, 3306
2-1. SSHでインスタンスにログインする
1. MySQLインスタンスにSSHログインする。
ホスト名:以下から1つの方法を選択してください。
- IPアドレスを入力 (例:10.0.xx.xx)
-
ホスト名を入力(デフォルトでは、インスタンス名と同じ)。
"C:\Windows\System32\drivers\etc"に、10.0.xx.xx mysql-marketplace
のエントリーを追加する - ホスト名の内部FQDNを入力(OCIのコンソールから取得できる)
例:mysql-marketplace.privatesubnet01.vcn01.oraclevcn.com
ユーザー名: opc
2. rootユーザーの初期パスワードを取得する。
コマンド: sudo grep 'temporary password' /var/log/mysqld.log
[opc@mysql-marketplace ~]$ sudo grep 'temporary password' /var/log/mysqld.log
2024-08-11T04:15:46.314171Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: T7vdzhcub,P#
[opc@mysql-marketplace ~]
3. 初期パスワードでログインする。
MySQL clientは、既にインストール済。"mysql -V"でバージョンを確認する。
[opc@mysql-marketplace ~]$ mysql -V
mysql Ver 8.4.2-commercial for Linux on x86_64 (MySQL Enterprise Server - Commercial)
ログインコマンド:mysql -u <username> -p<password>
[opc@mysql-marketplace ~]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.2-commercial
<中略>
mysql>
4. rootユーザーの初期パスワードを変更する
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '<Password>';
Query OK, 0 rows affected (0.01 sec)
5. VCN内部からのアクセスを許可するために、新ユーザーを作成する
この例では、「root@VCN's CIDR」のユーザーを作成する。
mysql> create user 'root'@'10.0.0.0/16' identified by '<Password>';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* to 'root'@'10.0.0.0/16';
Query OK, 0 rows affected (0.01 sec)
便利のコマンド例:
select user, host from mysql.user; -- 全てのユーザーを表示
select user(); -- 現在のユーザーを表示
select database();
2-2. WorkbenchでMySQLに接続する
MySQL Workbenchに接続情報を入力し、テスト接続を実施します。
ホスト名:ホスト名、またはIPアドレスまたは内部FQDN
ポート:3306
SQL DeveloperでもMySQLに接続できます。それを使いたい方は、次の記事をご参照ください。
SQL Developerで様々なDBに接続する方法 (5-1. MySQL on OCI Marketplaceへの接続)
以上