使用sqlyog远程连接Linux系统的Mysql,提示错误码:1045

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用sqlyog远程连接Linux系统的Mysql,提示错误码:1045相关的知识,希望对你有一定的参考价值。

Mysql的密码是正确的,
使用ssh2协议的终端可以连接,通过命令mysql -uroot -p 能够进入MySQL monitor,
Mysql所在的服务器的ip是103.22.*.*,和错误信息中“Access denied for user ‘root’@‘153.34.99.10’(using password:YES)”的ip地址不一样,且换另外一台电脑后,同样的连接配置,提示的错误信息中的ip地址会改变。

mysql没有开启远程连接,或者针对你这台电脑没有远程链接到这台mysql服务器的权限 参考技术A 看看你的SQL server 端口是监听在那个IP上的, 然后确认下是否有远程接入的权限。

SQLyog客户端无法连接MySQL服务器

环境:centos下使用yum 命令安装了mysql服务

1、进入linux 通过命令service mysqld start启动mysql的服务

2、使用sqlyog 连接mysql发现连接不上,如下图:

但是在linux本地是可以连接数据库的。所以说网络没有问题;通过netstat -nalp | grep "3306"命令发现3306端口也开启着;

通过问度娘发现问题可能出在iptables,查看iptables的运行状态,发现iptables是运行着的,所有通过chkconfig iptables off 关闭了防火墙,通过chkconfig --list,查看如下图:

然后通过命令service iptables stop 停止正在运行的防火墙

注意:

如果不想关闭防火墙也可以通过修改配置文件,将-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT添加到/etc/sysconfig/iptables即可(需重启iptables服务),表示允许3306端口通过防火墙。

在此使用sqlyog进行登录;发现还是无法登录还是提示错误信息,如下图:

根据错误提示,我本地主机的网卡IP远程连接时不允许通过该主机连接到MYSQL服务器;可以初步判断可能是应为缺少权限;

我们需要给用户添加权限:

登录mysql,在mysql下输入如下命令:

GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'123456\' WITH GRANT OPTION;  //允许用户root使用密码123456从任何主机连接到MYSQL服务器

如果需要制定主机,则可以用下面的命令:

GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'10.1.1.123\' IDENTIFIED BY \'123456\' WITH GRANT OPTION;  //允许用户root从IP为10.1.1.123的主机连接到MYSQL服务器,并使用123456作为登录密码

授权成功之后,再次尝试进行远程连接,可以发现连接成功;如下图:

参考文档:

http://blog.itpub.net/31015730/viewspace-2143797/

 

以上是关于使用sqlyog远程连接Linux系统的Mysql,提示错误码:1045的主要内容,如果未能解决你的问题,请参考以下文章

linux8 使用SQLyog远程连接MySQL数据库

Linux中 MySQL 授权远程连接

如何用sqlyog实现远程连接mysql

如何用SQLyog实现远程连接MySQL

sqlyog客户端连接不到linux中的mysql?

怎么用SQLyog连接本地数据库和远程数据库