云服务器远程连接MYSQL| 青训营笔记

105 阅读2分钟

云服务器远程连接MYSQL

这是我参与「第四届青训营 -大数据场」笔记创作活动的第2篇笔记

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

写此文的目的是避免以后再远程配置数据库出现失败的问题!

开放服务器端口,修改服务器ip权限

修改my.cnf配置信息

以linux为例!

通过find / -name my.cnf查找到my.cnf

以下是解决方案:

  • 更改属性:bind-address

    取消注释属性或将其更改为以下 IP 之一:bind-address

     bind-address="127.0.0.1"
    

     bind-address="0.0.0.0"
    
  • 注释掉“跳过网络”

    如果您的MySQL配置文件中有一行,请在该行的开头添加符号,使其具有注释。skip-networking``#

  • 更改“wait_timeout”和“interactive_timeout”

    将这些行添加到 MySQL 配置文件中:

    [wait_timeout][1] = *number*
    
    interactive_timeout = *number*
    
    connect_timeout = *number*
    

MySql设置远程连接

1.开启远程mysql数据库访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

2.操作完后切记执行以下命令刷新权限

FLUSH PRIVILEGES;
mysql默认情况下,只允许localhost连接,如果需要外部IP连接到mysql,需要向mysql数据库里的“user”表里添加相关授权。 例如:让newuser用户使用newpwd密码从IP:192.168.1.3主机链接到mysql服务器
具体步骤:
GRANT ALL PRIVILEGES ON . TO 'newuser'@'192.168.1.3' IDENTIFIED BY 'newpwd' WITH GRANT OPTION; mysql>flush privileges;

3.再次查询mysql访问授权是否开启

select * from mysql.user where user='root'\G

4.防火墙开放mysql的3306端口

firewall-cmd --zone=public--add-port=3306/tcp --permanent

5.重启防火墙

systemctl restart firewalld.service

6.查询防火墙开放的端口

firewall-cmd --list-ports

使用数据库连接工具测试连接

这里以DataGrip为例

image.png

SSH连接方式

image.png

总结

这次一定要长记性,配置过程总是忘了!

以前数据库连接用的是Navicat,现在在适应DataGrip!