MySQL 远程访问

授权问题

以 root 身份登陆 MySQL

mysql> use mysql
Database changed
mysql> SELECT User, Host FROM user; -- 查看现有用户和允许连接的主机
+------+-----------+
| User | Host      |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.00 sec)

Host 为 localhost 表示只允许 localhost 连接,下面把他改为 % 就可以任意访问了。

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

理论上来讲只需要下面的代码就行了。

grant all on yourdb.* to yourUsername@yourHost identified by “yourPassword” WITH GRANT OPTION;

FLUSH PRIVILEGES;

端口问题

登录到服务器后,

netstat -an|grep 3306

查看 mysql 默认的端口 3306 是否开启,允许哪个 ip 使用,如果发现 127.0.0.1 就说明 3306 端口只允许本机 ip 访问

下面修改设置

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

将 bind-address = 127.0.0.1 注释掉

sudo service mysql restart

发表评论

电子邮件地址不会被公开。 必填项已用*标注