MySQL连接失败原因解决方法解决思路|主从复制连接专用1130 Host is not allowed错误宝塔面板排查
主从复制连接中MySQL连接失败,错误码1130 Host is not allowed。连接问题定位有固定流程,先判断是连不上还是认证失败,再针对性排查。
错误码分类。1130 Host is not allowed中1045是认证失败(用户名密码错或host不允许),2002是socket文件找不到(本地连接),2003是TCP连接被拒(服务未启动或端口未监听),10060是连接超时(网络不通或防火墙),1130是主机不允许连接。主从复制连接中先看错误码确定大方向。
2002错误解决。本地连接用localhost时走socket文件,mysql.sock文件位置不对或不存在。my.cnf中socket=/tmp/mysql.sock,确认该文件存在且权限正确。宝塔面板中多版本MySQL共存时socket路径冲突,指定正确路径或用127.0.0.1代替localhost走TCP连接。主从复制连接中2002错误改连接地址为127.0.0.1通常立即解决。
2003/10060错误解决。MySQL服务未启动或端口不通。systemctl start mysqld启动服务。netstat -tlnp | grep 3306确认监听。主从复制连接中远程连接超时,检查服务器安全组、防火墙、路由。宝塔面板中云数据库RDS需在控制台设置白名单,将客户端IP加入白名单。本地开发环境连接远程数据库,本地网络出口IP也要加入白名单。
1045错误解决。用户名或密码错误。mysql -u 用户名 -p命令行测试,确认密码。密码区分大小写,注意前后空格。主从复制连接中程序配置文件密码写错最常见,检查config.php、wp-config.php、.env等文件。密码含特殊字符时在配置文件中需要转义或加引号。密码忘记用--skip-grant-tables重置。
1130错误解决。用户host不允许当前IP连接。登录MySQL执行SELECT user,host FROM mysql.user;确认用户host。更新host:UPDATE mysql.user SET host='%' WHERE user='用户名';FLUSH PRIVILEGES。或创建新用户指定IP段。主从复制连接中生产环境用具体IP代替%,缩小攻击面。
配置和资源。my.cnf中max_connections、wait_timeout、interactive_timeout参数。连接数满时报Too many connections,show processlist查看当前连接,kill空闲连接。主从复制连接中wait_timeout太短导致连接断开后程序复用失效连接,调大wait_timeout或程序侧配置连接检测。宝塔面板中Docker容器MySQL数据卷挂载错误导致数据丢失,重新挂载正确数据目录。

更新时间:2026-08-27 11:16:13
上一篇:php网站发布文章提示500错误_程序语法与日志排查