2025年3月24日 星期一 甲辰(龙)年 月廿三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MySQL

DataGrip远程连接服务器MySQL

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

前提

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配置

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

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