C# Windows Form连接远程MySQL数据库报错求助:XAMPP配置后PHPMyAdmin正常
解决C# Windows Form连接远程MySQL数据库的连接名称错误问题
嘿,我一眼就揪出问题根源了——你的MySQL连接字符串里多了个不该有的http://前缀!
问题分析
PHPMyAdmin能正常访问是因为它是网页应用,通过HTTP协议和服务器通信;但C#的MySQL驱动是直接通过TCP/IP连接数据库服务的,根本不需要HTTP协议前缀。你在server参数里写http://192.168.8.102,驱动会把这个当成无效的服务器地址,自然就报错了。
修正后的代码
把连接字符串里的http://去掉就好:
public static MySqlConnection conString() { MySqlConnection conn = new MySqlConnection(@"server=192.168.8.102; userid=root; password=0713; database=pos_system; port=3306"); return conn; }
额外检查项(避免后续踩坑)
如果修正后还是连不上,建议排查这几点:
- MySQL远程连接权限:XAMPP默认的MySQL可能只允许本地访问,需要修改
my.cnf(Linux)或my.ini(Windows)里的bind-address为0.0.0.0,然后重启MySQL服务。 - 用户授权:确保
root用户被允许从远程IP访问数据库,执行以下SQL语句(在服务器端的PHPMyAdmin里运行):
(GRANT ALL ON pos_system.* TO 'root'@'%' IDENTIFIED BY '0713'; FLUSH PRIVILEGES;%代表允许任意IP连接,也可以替换成客户端PC的具体IP更安全) - 端口防火墙:确认服务器PC的防火墙没有拦截3306端口,客户端PC的防火墙也允许程序访问该端口。
内容的提问来源于stack exchange,提问作者MJ DEV
相关产品推荐
相关产品推荐

