使用 MySQL GUI 连接VPS的 MySQL 服务器连接失败,经查是以下原因引起的:
mysql -u root -p
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
注意:
@
左边是用户名,右边是域名、IP 和%
,表示可以访问 mysql 的域名和 IP,% 表示外部任何地址都能访问。
给新用户和 root 赋值所有权限
-- 给新用户权限
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
Tip: 格的安全考虑的话,生产环境请将 % 换成特定的 IP。
FLUSH PRIVILEGES;
MySQL 无法连接的可能原因是服务器防火墙未放开 3306 端口,或 MySQL 服务器禁止远程连接了。
netstat -an | grep 3306
tcp6 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
如上表示 3306 端口并未打开。进入 MySQL 配置目录:etc/mysql/mysql.conf.d/
编辑配置文件:
cd /etc/mysql/mysql.conf.d
sudo vim mysqld.cnf
MySQL 默认只允许本地服务器访问,注释以下配置:
# bind-address = 127.0.0.1
保存并退出,然后重启 MySQL 服务:
sudo service mysql restart
原文: http://yiqiao.me/articles/2/server-mysql-remote-connection-settings
版权声明: 自由转载-非商用-非衍生-保持署名 (创意共享3.0许可证)