【笔记】MySQL允许远程访问

前言

MySQL配置允许远程访问
MySQL远程登录报错ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.x.x:3306' (61)的解决方案

将账户设置为允许远程访问

修改账户的Host

  • 将MySQL数据库的user表中root账户的Host字段从localhost改为%
1
2
3
USE mysql;
UPDATE user SET Host='%' WHERE Host='localhost' AND User='root';
FLUSH PRIVILEGES;

查看是否修改成功

1
SELECT Host, User FROM user;

配置文件中注释仅本机访问的配置

  • 注释bind-addressmysqlx-bind-address
/opt/homebrew/etc/my.cnf
1
2
# bind-address = 127.0.0.1
# mysqlx-bind-address = 127.0.0.1

MacOS使用brew安装的MySQL初始化配置

  • 初始化MySQL配置时不要禁用root用户的远程登录
1
mysql_secure_installation
1
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : No

为远程登录的用户创建账户

创建允许任何IP地址访问的账户

1
CREATE user '<username>'@'%' IDENTIFIED BY '<password>';

授予权限

1
2
GRANT ALL PRIVILEGES ON *.* TO '<username>'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

远程登录

<username>:用户名
<password>:密码
<ip>:MySQL服务器IP地址
<port>:MySQL服务端口号

1
mysql -u<username> -p<password> -h<ip> -P<port>

完成

CSDN——alphaTao
CSDN——冰冷的希望