Skip to content

智慧呱的博客

Talk is cheat, show me the code

智慧呱的博客

  • 首页
  • 关于
  • 文章
Search

MySQL开启远程连接详细配置

First posted: 四月 13, 2018四月 15, 20181 Comment

在服务器上新安装MySQL数据库,并使得改数据库可以远程访问,是部署阶段经常遇到的情况。本文将系统地介绍开放远程连接所需要的条件,同时也是发生访问失败时的检查步骤。

1.安全组和防火墙。安全组配置中要开启3306端口,如果开启了防火墙也要检查是否限制3306端口。

netstat -tulpen|grep 3306

或者

sudo lsof -i:3306

当然3306只是MySQL的默认端口,也有MySQL在使用其他端口,必要时可以查看一下MySQL使用的端口号,可以在登入MySQL后进行查询:

mysql> show global variables like 'port';  # 查看MySQL运行的实际端口
+---------------+-------
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.01 sec)

如果开启了防火墙,将MySQL加入允许规则。

防火墙的常用操作如下:

# RH/CentOS检测防火墙状态
firewall-cmd --state
# RH/CentOS查看已开放端口
firewall-cmd --list-ports

防火墙中加入允许MySQL访问的规则:

# RH/CentOS:
sudo firewall-cmd --zone=public --permanent --add-service=mysql

2.MySQL的User表修改。默认配置的MySQL的User表信息如下:

mysql> select host,user from user;
  +-----------+---------------+
  | host      | user          |
  +-----------+---------------+
  | localhost | admin         |
  | localhost | root          |
  | localhost | mysql.session |
  | localhost | mysql.sys     |
  +-----------+---------------+

host字段限定了登录用户的ip地址,默认为localhost,即只能在本机上访问MySQL。将localhost修改为%,即可允许任何ip地址的用户访问。

mysql>update user set host = '%' where user = 'root';
mysql>FLUSH RIVILEGES;

3.MySQL的配置文件修改。

打开MySQL安装目录下的配置文件my.cnf(一般MySQL安装在/etc/mysql/下),修改的对应配置信息如下:

bind-address = 0.0.0.0  # 表示允许任何主机登陆MySQL
port=3306               # 表示MySQL运行端口为3306

4.重启MySQL

使用service重启(当然使用mysqld重启MySQL也是一样)

service mysqld restart
  • 3306
  • mysql
  • 开放
  • 数据库
  • 远程连接

Post navigation

Previous Post:

Linux记录所有用户操作行为

Next Post:

Shadowsocks服务器端搭建

About the Author

intellifrog

All posts byintellifrog

Hide

One thought

  1. cassie说道:
    四月 13, 2018 5:09 下午

    👍

    回复

发表评论 取消回复

电子邮件地址不会被公开。

分类目录

  • Linux (3)

文章归档

  • 2018年四月 (3)
© 2018 智慧呱的博客