前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何开启mysql远程连接管理

如何开启mysql远程连接管理

原创
作者头像
云知识Online
发布2018-05-03 14:45:15
4K0
发布2018-05-03 14:45:15
举报
文章被收录于专栏:云知识学习云知识学习

如何在本地远程连接管理搭建在cvm服务器上的mysql服务,首先排除如防火墙和安全组等安全策略的限制

主要确认两点: 1.mysql服务是否监听了其他网络可以访问到的地址 这里要看下mysql服务的监听地址,如果是localhost或127.0.0.1这就只能在本机上连接, 不支持其他地址的服务器连接的 可以通过netstat -anupt | grep mysqld 来查看下mysql的监听地址是什么 如下图的查询结果,mysql的监听地址是127.0.0.1:3306

那么如何修改呢? 可以在mysql的配置文件中修改mysql的监听地址 编辑/etc/my.cnf 在[mysqld]节中编辑下面一行: bind-address=0.0.0.0 #全部地址或者指定的ip地址(云服务器的内网地址和外网地址是映射关系 , 在服务器上是看不到外网地址的 ,在绑定监听地址时,写内网地址即可,访问的时候使用外网地址访问 0.0.0.0表示监听所有地址)

编辑完成后重启mysql服务

可以使用telnet命令来监测于服务器3306端口的联通性 如: linux中测试连通成功如下图

windows中下图

连通成功返回如下图

2.mysql是否有允许公网访问权限的帐号 我们先从mysql服务器上登录下mysql 查看下mysql当前存在的用户 select user,host from mysql.user; user列为用户名 , host列为主机位 ,这里看到host只有127.0.0.1 ,localhost 和vm_52_61_centos 其中vm_52_61_centos是本机的主机名 , 这三个地址都表示的是mysql服务器本机的地址. 可以看到没有其他主机地址,这样其他地址的客户端在连接mysql的时候是连接不上的 , 因为没有权限.

那么我们现在加上一个允许所有地址都可以连的用户名是root的用户,所有地址用%来表示 grant all privileges on . to 'root'@'%' identified by '123456' with grant option; 这个命令的意思是 : grant all privileges 授予所有权限 on . 对所有库和所有表 to 'root'@'%' 用户名是root , 允许所有地址 identified by '123456' 密码是123456 with grant option 授予赋权权限

flush privileges; 重载权限

现在再来连接下试下,就可以用外网地址连接啦~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档