以root用户远程连接MySQL8.0问题总结

本文介绍了在Ubuntu20.04上,MySQL8.0无法远程连接的常见原因及解决方法。主要涉及三个步骤:检查3306端口是否开放,修改配置文件以允许远程访问,以及更新MySQL数据库授权以允许root用户从任何IP登录。通过这些步骤,可以成功配置MySQL8.0以实现远程连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境:

Ubuntu 20.04

MySQL8.0.29

问题:

现在市面上主要使用的是经典的MySQL5.7版本,MySQL8.0是个较新的版本,二者的远程连接有点不一样,刚安装好的MySQL8.0不能远程连接的主要原因有以下几点:

①3306端口未打开;

②默认是允许本机即localhost或者说127.0.0.1(二者同义)访问,不允许其他计算机进行远程连接;

③默认只允许root用户在localhost上登录。

二、解决方法:

①针对3306端口未打开:

首先要确保服务器上的3306端口是打开的(这里针对使用腾讯云或者阿里云等租用云服务器的用户而言,如果你是自己的服务器,那在服务器上打开一下就行,但是腾讯或者阿里云的云服务器,你在服务器上配置了也没用,你必须得在其控制台进行配置):

②针对默认是允许本机即localhost或者说127.0.0.1(二者同义)访问,不允许其他计算机进行远程连接:(5.7版本不需要修改这个)

vim /etc/mysql/mysql.conf.d/mysqld.cnf

修改bind-address从127.0.0.0改为0.0.0.0

③针对默认只允许root用户在localhost上登录:


# 使用root用户登录mysql数据库,进入到mysql数据库
mysql -u root -p            
 
 
# 切换到mysql数据库
use mysql;    
 
# 查看user表的host和user数据:会发现root用户允许的host是localhost
select host, user from user; 
 
# 修改数据:把user为root的host改为%,表示允许root用户在所有IP上登录
update user set host='%' where user='root';  
 
 
# 重启mysql:
/etc/init.d/mysql restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值