远程连接 mysql 数据库连接不上的解决方案

今天用Navicat访问虚拟机上的mysql,无法访问报cannot connect(10038)。

首先看是否可以telnet,本机cmd,telnet 10.10.10.10 3306,结果是连接失败,

再到虚拟机上确认 netstat -anp ,发现 “tcp        0      0    127.0.0.1:3306            0.0.0.0:*               LISTEN”

(LocalAddress中: 0.0.0.0 表示监听本地所有ip地址,其他电脑是可以访问的,并且修改ip不受影响。 127.0.0.1 表示只监听本机回环地址,只能本机访问。 x.x.x.x ip地址,是只监听这个ip。修改ip后程序就不能监听了。需要手动修改软件监听地址才可以用)

这里LocalAddress为127.0.0.1,说明是这里的问题。

于是找到mysql的配置文件 修改  bind-address = 127.0.0.1    to       bind-address = 0.0.0.0

问题得到解决

如果还是不行,就要修改 mysql 的user 表 将 host 改为 %

可能还需要修改权限 grantallprivilegeson*.*to‘root‘@‘%‘ identified by‘youpassword‘withgrantoption;

最后 flush privileges;

bind-address = 127.0.0.1    to       bind-address = 0.0.0.0

原文地址:https://www.cnblogs.com/songlen/p/9069486.html

时间: 2024-10-11 17:39:37

远程连接 mysql 数据库连接不上的解决方案的相关文章

远程连接MySql连不上1130

mysql数据库user表中已存在主机=%的用户root,连接却提示1130. 用navicat开启user表>>>>在表里直接修改%账户root的密码(看到是未加密过的内容)>>>>执行flush privileges;>>>>重启mysql服务>>>>仍连不上>>>>考虑是密码有问题>>>>将密码清空>>>>执行flush privil

navicat远程连接阿里云ECS上的MYSQL报Lost connection to MySQL server at 'reading initial communication packet'

问题现象 MySQL 远程连接报错:Lost connection to MySQL server at 'reading initial communication packet' 解决方案 1.检查是否有防火墙限制2.检查 MySQL 是否有访问权限 use mysql; Grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option; flush privileges; 3.检查 my.ini 文

navcat无法远程连接mysql数据库解决办法

navcat无法远程连接mysql数据库,一般都是因为本地ip没有访问权限,服务器上执行下面指令即可解决 mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO 'mysql数据库用户名'@'本地ip' IDENTIFIED BY 'mysql数据库密码' WITH GRANT OPTION; flush privileges;

Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是由于MySQL不准许远程连接. 修改方法如下: 1:在服务端MySQL文件夹下找到my.ini文件.修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项) 2:重新启动MySQL服务. 测试连接情况: 如果没有给

解决远程连接mysql很慢的方法(网络正常)

最近用mysql命令行或者JDBC远程连接mysql速度很慢,而且远大于ping时间.上网搜了一下,解决方案如下: 在/etc/mysql/my.cnf文件的[mysqld]部分加入:skip-name-resolve,保存文件,重启mysql,搞定. 但这样做的代价是不能在MySQL的授权表中使用主机名了而只能用ip. 参考: http://www.jb51.net/article/27616.htm http://blog.163.com/[email protected]/blog/sta

Windows操作系统下远程连接MySQL数据库

用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是上网搜索发现,mysql 数据库默认的连接只能在本机连接,远程连接必须授权. 远程连接权限配置: 进到你的MySQL\MySQL Server 5.5\bin文件夹下(注:Windows操作系统下doc命令进入) C:\Program Files\MySQL\MySQL Server 5.5>cd

无法远程连接mysql,连接后也没有权限创建数据库

问题现象:无法远程连接mysql,连接后也没有权限创建数据库 问题原因: MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上, 以便得到更大性能的提升, 此时 MySql-Server 就要修改成允许 Web-

Navicat for mysql 远程连接 mySql数据库10061、1045错误

用navicat连接远程的mysql数据报错: 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061.1045错误或 2003-Can't connect to MySQL on '192.168.1.2'(10061),这个原因是因为MySQL不准许远程连接. 最简单的办法是 MySQL远程配置 代码如下 复制代码 GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '

Navicat 远程连接 MySQL

Navicat 远程连接 MySQL 相信大家都有在远程服务器上进行开发吧,其中 MySQL 的使用率应该也会挺高,如果使用 Navicat 等可视化工具来操作远程数据库不失为一种很好的选择,避免了在命令行写 SQL 语句的操作.下面简单介绍一下 Navicat 连接远程数据库的操作. 1 首先我们需要更改 3306端口,查看3306 端口是否对外开放,MySQL 默认情况下是不开放对外访问功能的.语句如下: netstat -an | grep 3306 如果查询结果如下,需要我们更改 MyS