質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

1回答

5676閲覧

[MAMP] mysqlアクセス時の使用ポートがユーザーごとに違う

takubdm

総合スコア12

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2018/01/07 19:32

MAMP環境を使っています。
以下の環境にて、コマンドによってmysqlへのアクセスが可能なケース、不可能なケースがあります。

OS: Mac OS X 10.13.2
mysql: 5.6.35
Port: 8889

 
ケース1: ○ アクセス可

bash

1$ ./mysql -u root -h localhost -p 2Welcome to the MySQL monitor. Commands end with ; or \g.

ケース2: × アクセス不可

bash

1$ ./mysql -u root -h 127.0.0.1 -p 2ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (61)

 
以下の通り、ポートを指定するとアクセス出来ます。

ケース3: ○ アクセス可

bash

1$ ./mysql -P 8889 -u root -h 127.0.0.1 -p 2Welcome to the MySQL monitor. Commands end with ; or \g.

MAMPの設定にてmysqlのポート番号を3306に変更したところ、ケース2のコマンドでもアクセスに成功しました。
このため、本環境では「ポート番号を指定せずにmysqlへのアクセスを試みた場合、対象ホストがlocalhostであればMAMPで設定したポート番号、その他であれば3306を使用する」挙動であると理解しました。

そうなると、ポート番号を指定しなかった場合のデフォルトポートが対象ホストごとに定められている事になります。おそらく何かの設定ファイルに記載されているものと想像しますが、どのファイルに設定されていますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiwa

2018/01/08 02:44

質問のタイトルですが、ユーザーはどの場合もrootですよね?
guest

回答1

0

mysqlでlocalhostに接続する場合とIPアドレス 127.0.0.1 に接続する場合では接続方法が異なります。

localhostを指定した場合とホスト名を省略(省略時はlocalhostが使用される)した場合はUNIX socket経由の接続になります。
mysql -u root -h localhost -p

mysql> status; -------------- /Applications/MAMP/Library/bin/mysql Ver 14.14 Distrib 5.6.35, for osx10.9 (x86_64) using EditLine wrapper Connection id: 2 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.6.35 MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /Applications/MAMP/tmp/mysql/mysql.sock Uptime: 3 min 53 sec Threads: 1 Questions: 10 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.042 --------------

ホストにIPアドレスを指定した場合はTCP/IP接続になります。
mysql -u root -h 127.0.0.1 -P 8889 -p

mysql> status; -------------- /Applications/MAMP/Library/bin/mysql Ver 14.14 Distrib 5.6.35, for osx10.9 (x86_64) using EditLine wrapper Connection id: 3 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.6.35 MySQL Community Server (GPL) Protocol version: 10 Connection: 127.0.0.1 via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 8889 Uptime: 5 min 12 sec Threads: 1 Questions: 15 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.018 --------------

localhost にsocket経由で接続する場合はポート番号は無視されます。TCP/IP接続の場合はポート番号を合わせる必要があります。TCP/IP接続でポート番号を省略した場合はデフォルトの3306が使用されます。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.2.2 MySQL サーバーへの接続

投稿2018/01/08 02:43

fiwa

総合スコア1192

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問