在Linux上使用Mono连接MySQL数据库

我的测试平台是Ubuntu+Mono1.2.4+MySQL5+Connector/Net 5.1.4,其中Mono和MySQL都是使用apt-get方式安装很方便。MySQL Connector/Net 5.1.4从http://dev.mysql.com/downloads/connector/net/5.1.html 下载Windows Source and Binaries, no installer (ZIP)解压缩得到MySql.Data.dll。
使用gacutil -i MySql.Data.dll把MySql.Data.dll安装到Mono的全局组件目录下。
具体内容参考http://www.mono-project.com/MySQL的例子。
特别提出来的是我第一次编译运行的时候出现这样的错误提示:
MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts
in <0x006c5> MySql.Data.MySqlClient.NativeDriver:Open ()
in <0x00027> MySql.Data.MySqlClient.Driver:Create (MySql.Data.MySqlClient.MySqlConnectionString settings)
in <0x0008d> MySql.Data.MySqlClient.MySqlPool:CreateNewPooledConnection ()
in <0x001b0> MySql.Data.MySqlClient.MySqlPool:GetPooledConnection ()
in <0x0003f> MySql.Data.MySqlClient.MySqlPool:GetConnection ()
in <0x000e5> MySql.Data.MySqlClient.MySqlPoolManager:GetConnection (MySql.Data.MySqlClient.MySqlConnectionString settings)
in <0x00050> MySql.Data.MySqlClient.MySqlConnection:Open ()

不思不得其解,后来找到一个国外的论坛,得到这样的提示:
The most likely cause of this is that MySQL is not configured to accept tcp/ip connections.
See here http://dev.mysql.com/doc/mysql/en/can-not-connect-to-server.html
make sure your /etc/mysql/my.cnf file does not have the "skip-networking" feature enabled. This is the default in some installations and disables tcp/ip connections.
根据提示我把my.cnf中的
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 172.22.60.126
bind-address注释掉,然后重新启动mysql服务器程序sudo /etc/init.d/mysql restart就可以正常连接查询了。
GOOD Luck!
posted @   南桥一梦  阅读(4172)  评论(17编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示