MySQL远程登陆错误

远程连接 mySql数据库会提示10061、1045错误或 2003-Can’t connect to MySQL on ’192.168.1.2’(10061),这个原因是因为MySQL不准许远程连接。

最简单的办法是,通过root用户进入mysql,添加下面命令:

grant all on *.* to 用户名@"%" identified by "密码";
flush
privileges;

命令格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"

  •   权限:select/insert/update/delete/all,多个权限之间用英文逗号隔开。

  •   数据库:数据库名称,或者使用“*”代替所有数据库。

  •   登录主机:localhost/具体IP/%,其中“%”代表除localhost之外的所有IP。

mysql默认是打开3306端口给外部的。如果是本地连接,不指明 mysql --protocol=tcp, 连接默认是socket方式连接的,socket连接是根据sokect文件来的,与--port不相关的,所以本地连接不需要确定端口。如果是异地服务器登陆的话就需要确认下端口的是否正确了。

如果还是无法连接上,还需检验以下方式:

1:在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项);

2:重新启动MySQL服务;

如果以新的身份无法登录进去,可以查看下:

1、数据库是否添加了该用户,select * from mysql.user ;

2、有没有忘了 flush privileges,因为添加完权限可能没有写到内存去,所以你必须加上这个命令或者重启mysql,service mysql restart;

3、看下服务器的防火墙有没设置好,看下端口是否被限制;

原文地址:https://www.cnblogs.com/linguoguo/p/4371431.html