Подключаться к Mysql 8 на macOS можно только тогда, когда указан порт - PullRequest
0 голосов
/ 04 сентября 2018

MySQL 8.0.12 установлен на MacOS High Sierra (10.13.6):

$ brew info mysql
mysql: stable 8.0.12 (bottled)
Open source relational database management system
https://dev.mysql.com/doc/refman/8.0/en/
Conflicts with:
  ...
/usr/local/Cellar/mysql/8.0.12 (255 files, 233.0MB) *
  Poured from bottle on 2018-09-04 at 11:09:42
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb
==> Dependencies
Build: cmake ✔
Required: openssl ✔
==> Requirements
Required: macOS >= 10.10 ✔
==> Options
...

Это содержимое моего my.cnf файла:

# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1

Проблема в том, когда я запускаю mysql через службы homebrew:

brew services start mysql

и убедитесь, что он работает:

$ brew services list
Name  Status  User Plist
mysql started jhl  /Users/jhl/Library/LaunchAgents/homebrew.mxcl.mysql.plist

$ ps aux | grep mysql
jhl               8609   0.0  0.0  4267768    900 s004  S+   11:21AM 0:00.00 grep mysql
jhl               8364   0.0  2.2  4896156 367368   ??  S    11:18AM   0:00.96 /usr/local/opt/mysql/bin/mysqld --basedir=/usr/local/opt/mysql --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql/lib/plugin --log-error=jhls-MacBook-Pro.local.err --pid-file=jhls-MacBook-Pro.local.pid
jhl               8275   0.0  0.0  4282688   1300   ??  S    11:18AM   0:00.02 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --datadir=/usr/local/var/mysql
jhl               4558   0.0  0.0  4298668   3352 s000  S+   11:01AM   0:00.04 view /usr/local/var/mysql/jhls-MacBook-Pro.local.err

$ lsof -i :3306
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mysqld  8364  jhl   19u  IPv4 0xb949031a3ab21e7b      0t0  TCP localhost:mysql (LISTEN)

Я не могу подключиться к mysqld с параметрами по умолчанию:

$ mysql -uroot
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (61)

Мне всегда нужно указывать порт:

$ mysql -uroot -P 3306
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.12 Homebrew
...
mysql>

Это прекрасно работает в командной строке, но мне не повезло, когда дело доходит до попытки подключиться к другим инструментам базы данных, таким как окно базы данных внутри RubyMine. Я переустанавливал mysql (версия 8) и mysql версию 5.7 несколько раз из homebrew (не забывая делать полное удаление каждый раз), и эта проблема все еще сохраняется на всех версиях, которые я пытаюсь использовать, что заставляет меня думать, что это проблема сети. Я даже пытался указать port в секциях [client] и [mysqld] my.cnf, но мне не повезло.

...