Mac Homebrew安装的MySQL无法远程登录的解决

对于Mac上Homebrew安装的MySQL,默认情况下只能使用本地登录。

而使用其它主机远程登录Mac上的MySQL则会被拒绝访问。

下面修改MySQL的相关配置并使其能被远程主机访问。

1. 登录MySQL

mysql -u root -p -D mysql

2. 修改user表中root用户的Host值

update user set host='%' where user='root';

查看下修改情况:

mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

3. 刷新权限

flush privileges;

4. 退出MySQL

exit

5. 修改MySQL服务绑定的IP

对于Homebrew安装的MySQL,默认的配置文件路径是/usr/local/etc/my.cnf:

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

将bind-address值修改为0.0.0.0:

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

6. 重启MySQL服务

brew services restart mysql

如果brew重启失败,有以下两种解决方案:

进入/usr/local/Cellar/mysql//bin目录下,使用mysql.server restart命令重启MySQL。注意"version"是你Mac上安装MySQL的版本号,请根据实际安装版本号来替换

可以选择重启Mac来达到重启MySQL服务的目的。重启Mac后,如果没有设置MySQL服务自启动,需要手动拉起MySQL服务:mysql.server start

验证

$ mysql -u root -p -h 192.168.0.100
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.21 Homebrew
 
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>

远程登录成功。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Mac Homebrew安装的MySQL无法远程登录的解决)