引言今天在用navicat连接腾讯云服务器时,出现了一系列的问题,也根据网上的解答成功连接上了服务器,故来做个总结。 安全组未设置何为安全组,用我自己的话来理解就是为了安全,把服务器允许被操作的一系列操作归为一个组,这个就是安全组 最容易出现的,也是最容易解决的问题就是安全组的权限问题。我们应该手动设服务器的 3306 端口已经被打开,可以被外界连接,解决方法也很简单,打开服务器,找到安全组选项,添加一个规则。 
MySQL配置文件出现 Passwordauthentication failed 可能是因为其中一个配置项没有开启。 将 /etc/ssh/sshd_config 中的 #Passwordauthentication yes 的注释 # 去掉。2、重启sshd。 $ systemctl restart sshd
重启完,应该还没好,emmm,最关键的一步来了 外部IP访问授权你会看到这样的一个错误 1130-HostXXX.XXX.XXX.XXXisnotallowed to connect tothisMySQLserver ,对,你没有权限去访问一个root用户的数据库,所以我们需要开放权限给我们本地使用Navicat的主机 我们不建议你开放所有ip,这太过于危险。所以,下面的命令可以使你只添加一个 Host 。 1.首先远程连接进入服务器,在shell中输入 mysql-u root-p ,然后回车,输入密码后回车进入mysql命令行。 $ mysql -u root -p
2.输入 usemysql; 注意加上分号,不加的话默认语句未执行完毕。 mysql> use mysql;
3.输入 selectHostfromuser; 你会看到只有 localhost 。我们需要将xxx.xxx.xxx.xxx也添加到这里。 mysql> select Host from user;
+-----------------------------------------------------+
| Host |
+-----------------------------------------------------+
| localhost |
| localhost |
| localhost |
| localhost |
+-----------------------------------------------------+ 4.添加方法如下: 输入 grant all privileges on*.*to root@"xxx.xxx.xxx.xxx"identifiedby"password"; mysql> grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "password";
上面也提到了,不推荐授权所有IP, GRANT ALL PRIVILEGES ON*.*TO‘root’@’xxx.xxx.xxx.xxx’IDENTIFIED BY‘123456’WITH GRANT OPTION; 这种操作最好不要做。这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,当然也包括远程访问权限。 然后再输入 flush privileges; 重载mysql权限。 mysql> flush privileges;
总结上面这些操作应该就能解决问题了,如果不能,emmmm,我也没见过。再去google或者baidu喽。
|
香港服务器多少钱一个月?哪家的香港服务器
4核4g6M50G盘20G防御云服务器价格多少钱?T
特发集团与华为签署全面合作协议
【身边的AI】高空抛物智能追溯解决方案,站
中海&华为签署战略深化合作协议
华为赵博:数字化转型成为地产企业最确定的