连接本地和远程 MYSQL

Connecting both local & remotely MYSQL

我有 2 个 ubuntu 服务器让我们说 X 和 Y。我的 sql 服务器在 X 上。我希望能够在本地 (X) 和远程连接和使用我的数据库 ( Y).我在这里阅读了一堆教程和问题,并在 my.cf 中注释掉了这些行:

#Bind-address 127.0.0.1
#skip-networking

然后这样做:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP of Y' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

但是当我这样做时,当我想在本地连接时出现此错误。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock'

如果你想用同一个用户连接本地和远程,你需要创建同一个用户两次,一次使用本地主机,一次使用 % 通配符 https://dev.mysql.com/doc/refman/5.6/en/adding-users.html

CREATE USER 'USER'@'localhost' IDENTIFIED BY 'some_pass';

CREATE USER 'USER'@'%' IDENTIFIED BY 'some_pass';

然后为两个选项授予权限

让 mysqld 监听所有接口:-D

在my.cnf中:

Bind-address 0.0.0.0

socket          = /var/run/mysqld/mysqld.sock (access local)
port            = 3306

看来我只需要重新启动 mysql 服务就可以了。