原因
默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录,若想远程连接云服务器,需要进行授权。
方法步骤:
一、远程登录授权
- 授予全部权限 给 所有库的所有表 用户名为root 密码为123456
mysql > grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql > grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
- 刷新MySQL的系统权限相关表,在不重启MySQL服务的情况下直接生效
mysql>flush privileges;
- 查看修改权限后的user表 ,有host为%,user为root,表示修改成功。
mysql> select host,user from user;
二、 解绑3306端口绑定的IP地址
- 查看3306端口是否状态
$ netstat -an | grep 3306
tcp6 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
显示3306端口绑定的IP地址是本地的127.0.0.1,需要解绑
- 修改Mysql配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address = 127.0.0.1,在前面加上#, 注释该行
#bind-address = 127.0.0.1
- 重启Mysql让配置文件生效
/etc/init.d/mysql restart
- 再看3306端口状态
netstat -an | grep 3306
显示如下,表明解绑成功
tcp6 0 0 :::3306 :::* LISTEN
三、设置腾讯云安全组规则
- 打开腾讯云“安全组”
https://console.cloud.tencent.com/cvm/securitygroup - 点击新建,出于安全考虑,选择开放部分端口或自定义
- 入站规则 - 添加规则,输入如下值
四、登录navicat
在navicat或其他MySQL数据库管理工具登录,即可成功连接云服务器的数据库