mysql数据库如何配置远程连接_修改配置文件与用户权限设置
MySQL远程连接失败主因是bind-address默认为127.0.0.1、用户host不匹配、防火墙/安全组拦截、8.0认证插件不兼容需逐一验证并配置。bind-address 默认值锁死本地连接MySQL 默认只监听 127.0.0.1远程客户端连不上不是密码错是根本没收到请求。关键在 my.cnf或 mysqld.cnf里 bind-address 配置项。常见错误改了但没生效因为配置文件位置不对Ubuntu 多在 /etc/mysql/mysql.conf.d/mysqld.cnfCentOS 多在 /etc/my.cnf 或 /etc/my.cnf.d/mariadb-server.cnf或者改完没重启服务。把 bind-address 127.0.0.1 改成 bind-address 0.0.0.0监听所有 IPv4 接口如果只要特定网段比如内网 192.168.1.0/24可写 bind-address 192.168.1.100本机该网段 IP改完必须执行 sudo systemctl restart mysql或 mariadb用 sudo netstat -tlnp | grep :3306 确认监听的是 *:3306 而非 127.0.0.1:3306CREATE USER 和 GRANT 权限不等于远程可用用 CREATE USER foolocalhost 创建的用户foo% 是另一个完全不同的账号。远程连接时 MySQL 认的是 userhost 全匹配% 表示任意 host但不包括 localhost这是个特殊别名优先级高于 %。常见错误以为给 root 开了权限就行但 root 默认是 rootlocalhost远程连 root 实际走的是 root% —— 这个账号很可能根本不存在。新建远程用户先 CREATE USER appuser% IDENTIFIED BY strong-pass-123;再赋权GRANT SELECT,INSERT,UPDATE ON mydb.* TO appuser%;别漏掉 FLUSH PRIVILEGES;虽然 8.0 大多不用但安全起见仍建议执行如果只允许某 IP 连接把 % 换成具体 IP如 appuser192.168.1.50防火墙和云平台安全组常被忽略MySQL 服务起来了、用户也授权了但还是连不上大概率卡在中间层。Linux 自带的 ufw 或 firewalld 默认会拦 3306 端口阿里云、腾讯云等控制台的安全组规则更是独立于系统防火墙存在。 橙篇 百度文库发布的一款综合性AI创作工具
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2510562.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!