远程无法连接mysql的问题

win和ubuntu远程连接mysql的问题

若是需要设置mysql可以远程访问,则:

设置远程可以登录:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;

这样还不行就是防火墙了

win

看你的数据库中mysql数据库中的user表

sql:

use mysql
select host,user,authentication_string from user;

在这里插入图片描述

如果不是上图那样就修改

 grant all privileges on *.* to root@'%' identified by "ou123456";
 //添加一个 名为root的用户密码为ou123456 并且允许这个用户在所有的host下都可以访问这个数据库
 这句可以替换成 updata user set host='%'where user='root' and host='localhost'
 //也就是直接把上面的root的host改为%
 
 接着
 flush privileges; // 就是刷新
 重启mysql服务

如果还不行,前看下面

就是本地防护墙的问题

设置防火墙放过mysql
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这个里面没有就是在“允许其他应用”中找到你的mysql安装目录的bin目录下mysqld.exe添加进来

在这里插入图片描述

ubuntu

这一段参考了

解决Ubuntu远程连接mysql连不上的问题_裸睡的鱼-CSDN博客

在liunx中可使用 telnet来测试可以连接某个端口吗
telnet host 端口

看你的数据库中mysql数据库中的user表

use mysql
select host,user,authentication_string from user;

在这里插入图片描述

不一样的话

 grant all privileges on *.* to root@'%' identified by "ou123456";

 flush privileges; 
 然后重启mysql服务

还是不行的话

查看
在这里插入图片描述

找到mysql的目录 应该是/etc/mysql

修改配置文件my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1 //注释掉它

如果这个文件里面没有 `bind-address = 127.0.0.1 ‘

那就在修改 /etc/mysql/mysql.conf.d/mysqld.cnf文件

这里使用sudo vim mysqld.cnf 要root权限才能修改

在这里插入图片描述

就这点问题,弄了一下午+加晚上 ,恶心透了 记录一下。。。

写到这里是 21:00

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您的 MySQL 数据库无法远程连接,可能是以下几个原因导致的: 1. MySQL 服务器未开启远程连接功能 默认情况下,MySQL 数据库的远程连接功能是关闭的。需要在 MySQL 配置文件中修改相关设置,开启远程连接功能。具体步骤如下: - 编辑 MySQL 配置文件 `my.cnf`,一般位于 `/etc/mysql` 或 `/etc/mysql/mysql.conf.d` 目录下。 - 找到 `bind-address` 配置项,并将其设置为 MySQL 服务器所在的 IP 地址或者 `0.0.0.0`,表示允许所有 IP 地址访问 MySQL 服务器。 - 重启 MySQL 服务,使配置生效。 修改后的配置文件示例如下: ``` [mysqld] bind-address = 0.0.0.0 ``` 2. 防火墙阻止了 MySQL远程连接 如果您的服务器上启用了防火墙,可能会阻止 MySQL远程连接。您需要在服务器上打开 3306 端口,以允许外部访问。如果您使用的是 iptables 防火墙,请使用以下命令打开 3306 端口: ``` sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT ``` 如果您使用的是 firewalld 防火墙,请使用以下命令打开 3306 端口: ``` sudo firewall-cmd --add-port=3306/tcp --permanent sudo firewall-cmd --reload ``` 3. MySQL 用户权限配置不正确 如果您使用的 MySQL 用户没有远程连接权限,也会导致无法远程连接 MySQL 数据库。您需要使用具有远程连接权限的 MySQL 用户登录 MySQL 数据库,然后为需要远程连接的用户分配权限。具体步骤如下: - 使用具有远程连接权限的 MySQL 用户登录 MySQL 数据库。 - 执行以下命令,为需要远程连接的用户分配权限: ``` GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password'; ``` 其中,`username` 和 `password` 分别是需要远程连接的用户的用户名和密码。 如果您只需要授权某个 IP 地址访问 MySQL 数据库,可以将 `%` 替换成具体的 IP 地址。 - 执行以下命令,使权限配置生效: ``` FLUSH PRIVILEGES; ``` 4. 您的网络环境存在问题 如果您的网络环境存在问题,也可能导致无法远程连接 MySQL 数据库。您需要检查您的网络环境,例如网络连接是否正常、路由器设置等。如果您无法解决网络问题,请联系网络管理员或运营商寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值