配置
- Linux版本:CentOS7
- MySQL版本:MySQL8.0
- 图形化软件:sqlyog
2003报错
- 防火墙问题(需要root)
#临时关闭防火墙
systemctl stop firewalld
#查看防火墙状态
systemctl status firewalld
关闭防火墙之后尝试连接,不成功继续往下看
- 端口号问题
进入mysql输入以下命令查看端口号
#查看mysql端口号
show variables like 'port%';
如果是0,退出mysql
终端输入vim /etc/my.cnf编辑my.cnf文件
注意图中skip-grant-tables,你需要用#把它注释掉,它是导致把mysql默认端口3306变为0的罪魁祸首。
注释掉之后再次进入mysql查看端口,应该变为3306了。
再次尝试连接sqlyog,如果还不成功就把mysql服务重新启动一下
#重启mysql服务
systemctl restart mysqld
1044报错
权限不够
- 进入mysql中给root授权并刷新
#授权
grant all privileges on *.* to 'root'@'%';
#刷新权限
flush privileges;
- 进入sqlyog删除原有连接
- 然后创建新连接即可
总结
-
2003报错注意两个问题:防火墙一定要关闭,临时关闭也行,mysql端口号要与sqlyog写入的端口一致
-
1044报错就进入mysql中给它权限就行了