返回顶部
分享到

宝塔安装的MySQL无法连接的情况及解决方案

Mysql 来源:互联网 作者:佚名 发布时间:2025-05-24 23:02:48 人浏览
摘要

一、错误 1130:Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 错误原因 此错误表示您的 IP 地址没有被授权访问宝塔服务器上的 MySQL。主要原因包括: 宝塔面板默认只允许本地连接 MySQL

一、错误 1130:Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to this MySQL server

 

 

错误原因

此错误表示您的 IP 地址没有被授权访问宝塔服务器上的 MySQL。主要原因包括:

  1. 宝塔面板默认只允许本地连接 MySQL
  2. MySQL 用户权限配置限制了连接来源
  3. 宝塔安全设置或防火墙阻止了 MySQL 端口访问

 

 

解决方案

 

方案1:手动配置 MySQL 用户远程访问权限

  1. 在宝塔面板中进入 终端 工具,或通过 SSH 连接到服务器
  2. 使用 root 用户登录 MySQL:

1

2

mysql -uroot -p

# 输入宝塔面板显示的 MySQL root 密码

  • 执行以下 SQL 命令:

1

2

3

4

5

6

7

8

-- 创建允许从任意主机连接的root用户

CREATE USER 'root'@'%' IDENTIFIED BY '密码';

 

-- 授予权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

 

-- 刷新权限

FLUSH PRIVILEGES;

也可以通过宝塔面板可视化配置添加允许任何人访问的 root 用户,找到高级设置

找到 MySQL 用户管理

创建用户,指定访问权限,如果希望任何人连接就选 --> 所有人

 

方案2:修改宝塔 MySQL 配置文件

  • 在宝塔面板中打开 文件 管理
  • 导航到 MySQL 配置文件(通常在 /etc/my.cnf 或 /www/server/mysql/etc/my.cnf)
  • 找到并注释掉或修改以下行:
    注释掉这行:

1

bind-address = 127.0.0.1

或者改为:

1

bind-address = 0.0.0.0

  • 在宝塔面板中重启 MySQL 服务

 

方案3:检查并调整宝塔防火墙设置

  • 在宝塔面板中进入 安全 选项
  • 检查防火墙是否放行了 MySQL 端口(默认 3306)
  • 如果未放行,点击 放行端口 并添加 3306

 

二、错误 1045:Access denied for user ‘root’@‘localhost’ (using password: YES)

错误原因

此错误表示用户名和密码验证失败。在宝塔环境中常见原因包括:

  1. 使用了错误的 MySQL 密码(注意宝塔可能会定期自动更改 MySQL root 密码)
  2. 宝塔修改了 MySQL 的认证方式但客户端不兼容
  3. 数据库用户权限配置问题

解决方案

 

方案1:在宝塔面板中查看/重置正确的 MySQL 密码

  1. 登录宝塔面板
  2. 进入 数据库 选项
  3. 查看 root 密码或点击 修改密码 设置新密码
  4. 使用新密码重新连接

 

方案2:修改 MySQL 认证方式

宝塔安装的 MySQL 8.0+ 使用新的认证方式,可能与某些客户端不兼容:

  1. 登录宝塔面板的终端或SSH连接到服务器
  2. 登录 MySQL:

1

2

mysql -uroot -p

# 输入宝塔面板显示的 MySQL root 密码

  • 修改认证方式:

1

2

3

-- 修改认证插件为兼容模式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

FLUSH PRIVILEGES;

 

方案3:通过宝塔面板重置 MySQL

如果无法登录 MySQL,可以通过宝塔面板重置:

  1. 在宝塔面板中,进入 数据库 选项
  2. 点击 MySQL管理器 -> 修复 按钮
  3. 如果仍有问题,可以选择 重置MySQL root密码

 

方案4:手动重置 MySQL 密码(适用于无法通过宝塔解决的情况)

  1. SSH连接到服务器并执行:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

# 停止MySQL服务

/etc/init.d/mysqld stop

 

# 安全模式启动MySQL

mysqld_safe --skip-grant-tables &

 

# 无密码登录

mysql -u root

 

# 执行以下SQL命令

USE mysql;

# MySQL 5.7

UPDATE user SET authentication_string=PASSWORD('密码') WHERE User='root';

# MySQL 8.0+

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

FLUSH PRIVILEGES;

exit;

 

# 重启MySQL服务

/etc/init.d/mysqld restart

 

三、同时解决宝塔 MySQL 远程连接问题的综合方案

 

步骤1:确认 MySQL 服务状态与密码

  1. 登录宝塔面板
  2. 进入 数据库 选项,确认 MySQL 状态为"正常",并记录 root 密码

 

步骤2:放行 MySQL 端口

  1. 在宝塔面板 安全 选项中检查防火墙
  2. 确保 MySQL 端口 3306 已放行
  3. 如果使用了云服务器,还需在云服务提供商的控制面板中放行相应端口

 

步骤3:创建数据库专用用户(推荐)

应用程序最好使用专门的数据库用户而非 root:

  1. 在宝塔面板 数据库 中添加新的 MySQL 数据库
  2. 创建与之关联的数据库用户
  3. 勾选"所有人"选项允许远程访问

 

步骤4:解决认证问题

如果仍然遇到认证问题,登录 MySQL 执行:

1

2

3

4

5

-- 对于root用户

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

 

FLUSH PRIVILEGES;

 

四、宝塔 MySQL 连接的安全最佳实践

  1. 避免使用 root 用户远程连接:为应用创建权限受限的专用数据库用户
  2. 限制访问 IP:远程访问设置中指定特定 IP 而非使用 % 通配符
  3. 使用强密码:设置包含大小写字母、数字和特殊字符的强密码
  4. 定期更换密码:通过宝塔面板定期更新数据库密码
  5. 启用 SSL 连接:配置 MySQL 使用 SSL/TLS 加密连接
  6. 监控异常登录:定期检查 MySQL 日志中的连接记录
  7. 最小权限原则:只授予用户必要的数据库和表权限

 

五、常见问题排查流程

如果以上方法仍无法解决连接问题,请按照以下步骤进行排查:

检查 MySQL 状态:

1

/etc/init.d/mysqld status

检查 MySQL 配置:

1

cat /www/server/mysql/etc/my.cnf

检查 MySQL 进程与端口:

1

2

ps aux | grep mysql

netstat -tunlp | grep 3306

检查 MySQL 日志:

1

tail -100 /www/server/mysql/log/error.log


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。

您可能感兴趣的文章 :

原文链接 :
相关文章
  • Python虚拟环境终极(含PyCharm的使用教程)

    Python虚拟环境终极(含PyCharm的使用教程)
    一、为什么需要虚拟环境? 场景 问题表现 虚拟环境解决方案 多项目依赖冲突 项目A需要Django 3.2,项目B需要Django 4.1 隔离不同项目的依赖版
  • Python中的魔术方法__new__介绍

    Python中的魔术方法__new__介绍
    一、核心意义与机制 1.1 构造过程原理 1.2 与 __init__ 对比 特性 __new__ __init__ 方法类型 静态方法 实例方法 返回值 必须返回实例对象 无返回值
  • 基于PyQt5实现的Windows定时关机工具

    基于PyQt5实现的Windows定时关机工具
    在日常使用电脑的过程中,我们经常会遇到需要定时关机的场景,比如: 夜间下载文件,想让电脑在任务完成后自动关机。 长时间运行的程
  • 宝塔安装的MySQL无法连接的情况及解决方案

    宝塔安装的MySQL无法连接的情况及解决方案
    一、错误 1130:Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 错误原因 此错误表示您的 IP 地址没有被授权访问宝塔服务器上的 MySQL。
  • MySQL中drop、truncate和delete的区别
    对于drop、truncate和delete,虽然简单,但是真要使用或者面试时候问到还是需要有一定的总结,今天来简单讲讲他们直接的区别。在此之前先
  • Linux搭建单机MySQL8.0.26版本的操作方法

    Linux搭建单机MySQL8.0.26版本的操作方法
    环境信息 IP 系统 规格 10.0.0.10 Ubuntu22.04 2c4g 数据库服务安装步骤 下载前置依赖 1 2 # 下载libtinfo5、libnuma1依赖 [root@lb ~]# apt update -y apt install
  • mysql中的group by高级用法
    MySQL中的GROUP BY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算。以下从基本语法到高级用法进
  • MySQL双主搭建+keepalived高可用的实现

    MySQL双主搭建+keepalived高可用的实现
    一、测试环境准备 节点1 节点2 IP地址 192.168.101.77 192.168.101.79 MySQL版本 8.0.32 8.0.32 二、主从搭建 1.创建复制用户 节点1执行: 1 2 3 4 mysql CREA
  • MYSQL数据表基本操作之创建+查看+修改+删除操作方

    MYSQL数据表基本操作之创建+查看+修改+删除操作方
    在数据库管理中,数据表的创建、查看、修改和删除是最基本的操作。这些操作是日常数据库管理和维护中不可或缺的一部分,正确理解和
  • MySQL使用SHOW PROCESSLIST的实现
    1、SHOW PROCESSLIST 显示进程列表 SHOW [FULL] PROCESSLIST 用于查看当前MySQL服务器上的所有运行中的进程列表信息。这个命令可以帮助我们了解哪些
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计