Linux(CentOS)のMySQLへ外部接続する | 俺の開発研究所

データベース|俺の開発研究所 データベース「データベース」の記事一覧です。

MySQL Client Tool for Linux (CentOS)は、コマンドラインでの操作になります。MySQLへの接続は外部で行い、そのためのツールは簡単なものを選ぶのがベストです。

ここでは、外部からMySQLに接続する方法を紹介します。

バージョンはこれです。

  • CentOS-6.4-i386
  • MySQL コミュニティサーバ 5.6.13

MySQLのインストールは、こちらの記事を参考にしてください⇒LAMP構築 - Linux(CentOS)にRPMパッケージからMySQLをインストールする。

現在の設定の確認

設定を確認します。

MySQLは設定ファイルではなく、権限を使って設定されているようです。

#Log in to MySQL$ mysql -u root -p password#データベース一覧 mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || wordpress |+--------------------+4 rows in set (0. 07 sec)07秒)#ユーザー一覧 mysql> SELECT user,host FROM mysql.user;+--------+-----------+| user | host |+--------+-----------+| root | 127.0.0.1 || root | ::1 || root | localhost || wpuser | localhost |+--------+-----------+4 rows in set (0.00 sec))です。

外部ホストが特権を付与することができる

次は「GRANT」文です。

WordPress.GRANT "文は、外部ホストに権限を与えることができます。

この権限は「wordpress」データベース内のすべてのオブジェクトに適用されます。

[email protected]'192.168.11.%'」の部分は、特権を適用するユーザーと接続元を指定する。

この場合、ユーザーは "wpuser"、アカウントの接続元はwildcardです。すると、"192.168.11 " の権限が適用されます。

#権限の適用 mysql> GRANT ALL ON wordpress.* TO [email protected]"192.168.11.%" identified by 'password' WITH GRANT OPTION;Query OK, 0 rows affected (0.62 sec)# 権限の変更を反映 mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.02 sec)# ユーザーリストの表示 mysql> SELECT user,host FROM mysql.user;+--------+--------+--------- # ユーザーリストの表示 mysql> SELECT user,host FROM mysql.user;+--------+--------- # ユーザーリストの表示 mysql> SELECT user,host (0.02 sec)# ユーザーリストの表示 mysql> SELECT user,host (0.02 sec)user;+--------+--------------+| user | host |+--------+--------------+| root | 127.0.0.1 || wpuser | 192.168.11.% || root | ::1 || root | localhost || wpuser | localhost |+--------+--------------+5 rows in set (0.00 sec)# MySQL からログアウトする mysql> exitBye

iptablesで、3306番ポートを開放します。

最後に、ポート3306をiptablesに接続します。

#iptablesの設定を編集する$ vi /etc/sysconfig/iptables# SSH-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT# HTTP-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT# Restart iptables$ /etc/rc.d/init.d/iptables restart

クライアントからのMySQL接続

上記の設定でMySQLに接続することに成功しました。

#MySQLに接続する$ MySQL$ mysql-u root-p password--h hostname

以下のサイトを参考に

MySQL/usersとDBの作成 - MinacoWiki

パーミッション設定(GRANT文) - ユーザーの作成 - MySQLの使い方

関連読書:

ドラゴンボール超 スーパーヒーロー:「ブロリー」より4年 新キャラが登場!

神作『無職転生~異世界行ったら本気出す~』の大推薦!

2022年夏|7月放送最新作TVアニメ情報まとめ!おすすめ6選を紹介!