一直以来都是在云服务器本地上使用mysql,最近突然想远程连接,结果突然发现,远程连接好坑啊,竟然连不上?在此分享我成功的经验。如何成功远程连接?
1、检查你的腾讯安全组(很重要,如果在这里没有放开端口,其他的什么方法都会失去效果)
一定要确保你在安全组设置中的入站规则中,开放3306端口,如我图中所示:
关于腾讯云服务器安全组是什么搜索一下你就知道。
2、在Ubuntu中使用ufw allow 3306命令开启端口的允许访问
3、接下来是比较坑的部分了,mysql本身是root用户是不让远程连接用的,你可以自己按照如下方法,新建一个用户
此步骤是必须要操作的,mysql本身的用户只能在本机上连接数据库,外网连接的话,需要先添加远程用户并授权。
在mysql命令行模式下,或者phpmyadmin中执行sql语句添加远程连接用户
> grant all on *.* to username@'%' identified by '123456';
> flush privileges;
其中username是你新的用户的名称,123456是密码,‘%’代表了任何远程主机都可以连接
flush privileges使生效
4、最坑的部分,mysql它默认监听地址是127.0.0.1,代表该mysql只允许所在服务器本机连接,外网是无法连接的,要将监听地址改为0.0.0.0,这样代表所有IP地址都可以连接
要对mysql的配置文件进行修改
/etc/mysql/mysql.conf.d/mysqld.cnf我的系统中,配置文件是这个(Ubuntu16)
修改bind-address=127.0.0.1 修改成 bind-address=0.0.0.0
最后重启mysql
service mysql restart