レンタルサーバー選びの迷いを解決!全力サポートします

Google or AdMax Promotion (srv)

MacPortで入れたMySQLにIP(TCP/IP)接続する

MacPortでインストールしたMySQLはデフォルト設定では、
TCP/IPによる接続ができないセキュリティー設定がされています。
同一ホストでアクセスする場合にはソケット接続で事足りますが、
普段利用している端末からアクセスしてデータベース操作するような場合には、
やはりTCP/IPによる接続ができないと不便な場合もあります。
そんな時にはTCP/IP接続を有効にするといいでしょう。

 

MacPortで入れたMySQLにIP(TCP/IP)接続する

この設定に関してはM.A.M.P.環境を構築したサーバー以外から、
MySQLサーバーへのアクセスの必要がない場合には、
無理にTCP/IPからのアクセスを許可する設定をする必要はありません。

例えば、サーバー上でWordPressを導入して、
WordPressを介して記事の執筆などを行うような場合です。

直接データベースに別端末からMySQLWorkbench等で接続し、
SQLの発行やデータの投入、バックアップ操作などを行う場合には、
TCP/IPの接続が必要になりますが、

そうした場合でも多くの場合は直接サーバーにログインして操作できるなら、
サーバーの端末で作業をする方がセキュリティー上はメリットとなります。

 

「macports-default.cnf」の読み込みを解除

MacPortでインストールしたMySQLは以下でご紹介している通り、
デフォルトで「3306」ポートのLISTENはしていません。

そこで、インストール後に作成されている「my.cnf」の、
「!include /opt/local/etc/mysql55/macports-default.cnf」をコメントアウトします。

変更前: !include /opt/local/etc/mysql55/macports-default.cnf

変更後: #!include /opt/local/etc/mysql55/macports-default.cnf

no-listen-mysql-mp_st06

my.cnfの変更(MacPort)・MacPortのMySQLサーバーTCP/IP有効化

 

このことによって、TCP/IPの制限が解除され、
通常のMySQLサーバーと同様に利用することができるようになります。

変更後は「*:3306」にてLISTENするようになります。

no-listen-mysql-mp_st05

mysqldがLISTEN(MacPort)・LISTENプロセスの確認

 

さて、これでサーバーに設定されている、
全IPアドレス(localhost,127.0.0.1,192.168.1.xxx等)の3306ポートから、
MySQLサーバへアクセスできるような下準備が整いました。

ホスト外IPアドレスからのユーザーアクセス権の付与

MySQLではアクセス権の付与が、
「ユーザー名@ホスト(IP)」で付与する形になっています。

アクセス元のIPアドレスを直接指定するか、
ワイルドカード「%」を利用したIPアドレス範囲によって、
アクセス権を追加しておく必要があります。

ここでは、ユーザーの追加と実行権限の付与をMySQL Workbencにて行っています。

mysql_privileges_st04

ユーザー名、接続元ホスト、パスワード入力・MySQLユーザーアカウント追加(Workbench5.2)

 

上記の設定を完了すれば、TCP/IPを利用した
別ホストからのアクセスができるようになります。

なお、サーバーと同一ホストからアクセスする場合には、
ユーザー権限の追加を「mysql@127.0.0.1」や「mysql@localhost」で行うと、
TCP/IP接続によってアクセスができるようになりますが、

この為にTCP/IP接続を設定するよりも、
ローカルアクセスのみに限定されているソケット接続を利用する方が、
よりセキュリティー上のメリットが大きいと考えます。

macport-using-wb_st08

ソケットパスの入力・MacPortMySQLをWordkbench(5.2)利用

 

プロモーション

Google or AdMax Promotion (srvpos)

別ホストからTCP/IP接続の確認

設定を完了したら、別のホスト(パソコン)から、
実際にアクセスを行って接続の確認を行います。

上記の手順では「192.168.0.%」としてホストを指定した事によって、
「192.168.0.1~192.168.0.254」のIPアドレスの範囲から、
mysqlユーザーでログインができるように設定しました。

ここでは「192.168.0.3」のIPを持つWindows8.1上にインストールした
MySQLWorkbench5.2からアクセスして確認します。

初期の接続設定はrootアカウントのみが有効でした。
接続するユーザーを追加した「mysql」へ変更します。

mysql_privileges_st07

別ホスト(Windows)からのアクセス確認・MySQLユーザーアカウント追加(Workbench5.2)

 

接続設定を開き、ユーザー名を「mysql」に変更し接続をテストします。
「Test Connection」をクリックすると、

Connected to …と接続ができたメッセージが表示されれば問題ありません。

mysql_privileges_st08

接続設定の確認(Windows)・MySQLユーザーアカウント追加(Workbench5.2)

 

Workbenchから接続設定をダブルクリックすると、
接続されSQL実行画面が表示されます。

mysql_privileges_st09

接続完了(Windows)・MySQLユーザーアカウント追加(Workbench5.2)

 

このようにして、MacPortでも設定を適切に変更することで、
TCP/IPからの接続が行えるようになります。

 


AdMax Promotion

公開日:

コンテンツナビ
すべて展開 | すべて省略

AdMax Promotion

カテゴリ
すべて展開 | すべて省略

QRコードからもこのURLを開けます。