☰
ubuntu上的mysql远程连不上root
2026/10/27 15:14:34 网站建设 项目流程

一、远程连不上

1. 先确认 MySQL 服务的监听配置

这是最常见的远程连接失败原因,MySQL 默认只监听本地 127.0.0.1,不对外网开放。
查看当前绑定的 IP

SHOWGLOBALVARIABLESLIKE'bind_address';
  • 如果结果是 127.0.0.1 → 只允许本地连接,需要修改。
  • 如果结果是 0.0.0.0 → 已经允许所有 IP 访问,跳过这一步。

2.先定位到 Ubuntu 上正确的配置文件

在 Ubuntu 中,MySQL 的主配置文件通常是:

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

修改 bind-address
在 [mysqld] 部分,找到这一行:

bind-address=127.0.0.1

改成

bind-address=0.0.0.0

3、重启mysql

sudosystemctl restart mysql

二、root连不上

先查询权限配置

#执行以下SQL查询root账号的所有权限配置SELECTuser,host,authentication_string,pluginFROMmysql.userWHEREuser='root';

如果没有root&‘%’
先显式创建用户,再执行授权
需要分两步操作,先创建 root’@‘% 用户(可设置密码),再给该用户授予权限,步骤如下:
步骤 1:先创建 ‘root’@’%’ 用户(必做)
执行创建语句(替换 你的密码 为实际要设置的 root 远程密码,也可留空但不推荐):

-- MySQL 5.7 及以下版本(password()函数可用)CREATEUSER'root'@'%'IDENTIFIEDBY'你的密码';-- MySQL 8.0 及以上版本(推荐,password()函数已废弃)CREATEUSER'root'@'%'IDENTIFIEDWITHmysql_native_passwordBY'你的密码';

步骤 2:再执行你的授权语句(此时用户已存在,不会报错)

GRANTALLPRIVILEGESON*.*TO'root'@'%'WITHGRANTOPTION;

步骤 3:刷新权限(使授权立即生效,必做)

FLUSHPRIVILEGES;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询