You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL[MariaDB] ERROR 1130连接问题求助(Arch Linux环境)

解决MySQL ERROR 1130 (HY000): Unknown error 1130 连接问题

嘿,这个ERROR 1130我太熟悉了——本质是你的MySQL用户MYUSERNAME没有被授权从当前的Arch Linux主机远程连接到目标数据库服务器。下面给你一步步拆解解决办法:

1. 确认并修改MySQL用户的远程访问权限

首先你需要能登录到目标MySQL服务器(如果有服务器本地权限的话),执行以下命令登录:

mysql -u root -p

输入root账号密码进入MySQL命令行后,先查看当前MYUSERNAME的访问限制:

SELECT user, host FROM mysql.user WHERE user = 'MYUSERNAME';

你大概率会看到host字段是localhost或者127.0.0.1,这意味着这个账号只能从服务器本地登录,无法远程访问。

接下来修改权限,允许从任意IP连接(如果想限制特定IP,把%换成你的Arch主机IP即可):

GRANT ALL PRIVILEGES ON MYDATABASENAME.* TO 'MYUSERNAME'@'%' IDENTIFIED BY '你的用户密码';

执行完授权后,必须刷新权限让设置生效:

FLUSH PRIVILEGES;

2. 调整MySQL服务器的绑定地址配置

MySQL默认可能只绑定了本地回环地址,需要修改配置文件允许远程连接:

  • 找到MySQL的配置文件,Arch上如果用MariaDB(主流替代MySQL的方案),路径通常是/etc/my.cnf.d/server.cnf;原生MySQL则是/etc/my.cnf
  • 找到bind-address这一行,把它改成0.0.0.0(允许所有IP访问)或者你的Arch主机的具体IP
  • 保存配置后,重启服务:
sudo systemctl restart mariadb  # Arch上常用MariaDB,执行这个命令
# 若是原生MySQL则用:sudo systemctl restart mysqld

3. 开放服务器端的MySQL端口

最后别忘了开放MySQL的默认端口3306,否则即使权限和配置都对,防火墙也会拦截连接:

  • 如果用ufw防火墙:
sudo ufw allow 3306/tcp
sudo ufw reload
  • 如果用firewalld防火墙:
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

做完这些步骤后,再重新执行你的连接命令:

mysql --host HOSTNAME --user MYUSERNAME -p MYDATABASENAME

应该就能成功连接了。

内容的提问来源于stack exchange,提问作者xaos_xv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:10:21