云服务器远程连接MYSQL
这是我参与「第四届青训营 -大数据场」笔记创作活动的第2篇笔记
本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
写此文的目的是避免以后再远程配置数据库出现失败的问题!
开放服务器端口,修改服务器ip权限
修改my.cnf配置信息
以linux为例!
通过find / -name my.cnf查找到my.cnf
以下是解决方案:
-
更改属性:
bind-address取消注释属性或将其更改为以下 IP 之一:
bind-addressbind-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为例
SSH连接方式
总结
这次一定要长记性,配置过程总是忘了!
以前数据库连接用的是Navicat,现在在适应DataGrip!