您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MySQL

DataGrip远程连接服务器MySQL

时间:02-07来源:作者:点击数:

前提

mysql查看默认端口及修改(默认端口是3306)

# 先登录mysql
mysql -u root -p
# 查看端口
show global variables like 'port';
# 结果如下
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.00 sec)

修改服务端口,mysql配置文件,配置文件是/etc/mysql/mysql.conf.d中的mysqld.cnf。早期版本的配置文件可能不是这个,而是my.cnf。可以看下mysqld.cnf中的注释:

# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.

修改port一行即可

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

修改允许用户登录所使用的IP

MySQL中创建user时用到'user'@'host',这里的host,也即mysql库user表中的host列,指定了允许用户登录所使用的IP。比如user=root Host=localhost,这里的意思就是说root用户只能通过本地去访问。如果要远程登录就必须要修改host或者重新创建一个user指定可以远程登录。%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。

# 创建一个可以远程登录的user
create user 'username'@'%' identified by 'password';
# 更新指定user的host
use mysql;
update user set host='%' where user='root';
# 查看
select host,user from user;

查看3306端口状态

这一点比较重要,我原本以为是服务器的防火墙设置的问题,但防火墙都是关的而且厂商的防火墙3306端口也是打开的,我很困惑- -。直到搜索到解决办法,才知道是端口绑定的是本地IP,需要解绑。

# 查看3306端口状态
netstat -an | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
# 3306 端口绑定的 IP 地址是本地的 127.0.0.1 , 需要解绑

修改MySQL配置文件

修改配置文件,/etc/mysql/mysql.conf.d中的mysqld.cnf。找到bind-address那一行注释掉。

# bind-address            = 127.0.0.1

重启MySQL

/etc/init.d/mysql restart 
# 查看下端口 解绑了
netstat -an | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN

DataGrip配置

新建一个数据库,把信息对应填好即可。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门