sqlyog连接腾讯云服务器mysql时出现的问题

发布于:2022-12-26 ⋅ 阅读:(534) ⋅ 点赞:(0)

1.先看看服务开没开启

sudo systemctl status mysql;

         上图显示已开启,若未开启则先开启服务。

2.连接前应该先把服务器的各种参数更改一下

        1)首先查看一下服务器监视的端口(如果还没开启3306端口的话,得先去云服务器控制器防火墙那边把mysql的3306端口打开)

netstat -anpt; //查看一下当前监听的端口

        显示如下图所示:

        若出现127.0.0.0:3306,说明监听的是本地地址。

        需要在mysql配置文件中将bind-address选项设置为bind-address = 0.0.0.0,重启mysql。

sudo vim /etc/mysql/my.cnf

        加上以下内容即可

        重启服务

sudo service mysql restart;

         此时再次查看端口显示:

 2)查看用于远程访问的mysql用户权限是否正确。

        登录服务器的mysql

use mysql;
select user,host from mysql.user;

        %表示允许所有机器访问。若host为127.0.0.1/localhost,那么这个用户就只能本机访问,则需要将host改为%,执行以下操作

update user set host='%' where user='root';

3.此时试着用sqlyog连接服务器

        又出现了错误:

         查询得知:sqlyog连接8.0以上的MySQL会出现2058错误,提示密码是乱码。原因是mysql 密码加密方法变了。

        网上找的解决方法如下:命令行下登陆到MySQL数据库,输入以下命令:

 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';//password就是填你自己mysql的密码

        再次测试,终于成功了!其实我一开始就试过上面那个命令,但当时其实不明白这是在干嘛,很多网上的教程只是说明操作(也可能我没找到对的教程),其实没说明为啥要这样做。这样其实前置问题还没解决就开始下一步,必定会出错误。

参考资料:

 https://jingyan.baidu.com/article/380abd0a3aef431d90192c33.html

https://blog.csdn.net/kongsuhongbaby/article/details/84671909


网站公告

今日签到

点亮在社区的每一天
去签到