概要
デフォルトだと localhost からのみアクセスできます
-h を指定してホスト名や IP ベースでアクセスできるようにするにはユーザを追加する必要があります
環境
- macOS 11.6.7
- MySQL 8.0.29
IP ベースでアクセス可能なユーザを新規に作成する
権限を追加で付与するわけではなくユーザを新規で追加する必要があります
-
CREATE USER 'user01'@'192.168.1.2' IDENTIFIED BY 'xxx';
-
GRANT ALL ON *.* TO 'user01'@'192.168.1.2' WITH GRANT OPTION;
-
FLUSH PRIVILEGES;
MySQL が IP で LISTEN しているか確認する
デフォルトだと localhost のみ LISTEN しているので IP で LISTEN するように変更します
- netstat -an | grep 3306
tcp4 0 0 127.0.0.1.3306 *.* LISTEN
-
vim ~/.my.cnf
[mysqld]
bind-address = 127.0.0.1,192.168.1.2
- brew services stop mysql
- brew services start mysql
- netstat -an | grep 3306
tcp4 0 0 192.168.1.2.3306 *.* LISTEN
tcp4 0 0 127.0.0.1.3306 *.* LISTEN
動作確認
ユーザの一覧を表示して追加した IP からのアクセスできるレコードがあることを確認します
-
SELECT Host,User FROM mysql.user \G
付与した権限情報は以下で確認できます
-
SHOW GRANTS FOR 'user01'@'192.168.1.2' \G
あとは mysql クライアントで -h で IP を指定して接続できることを確認します
- mysql -u user01 -h 192.168.1.2 -p
0 件のコメント:
コメントを投稿