下午好,
很抱歉打扰你,但我确实有一个关于我需要在Linux托管数据库连接的Windows Form C#Application的问题。在完成应用程序和数据库的管理之后,我已经将我的朋友(分配给我任务的人)发送给了数据库,作为" .sql"文件,他在Linux服务器上导入它(通过PHPMyAdmin)并且它正常工作,但不幸的是,C#应用程序没有连接到他上传的数据库#34;在新服务器上。我确实认为问题可能来自两种不同的情况:
a)必须允许来自服务器的连接,使用如下命令:" bind-address = x.x.x.x"?
b)连接字符串可能有误?以下是测试连接是否在线的按钮代码:
private void button2_Click(object sender, EventArgs e)
{
try
{
string MyConnection = "datasource=IP;port=3306;username=username;password=password";
MySqlConnection MyConn = new MySqlConnection(MyConnection);
MySqlDataAdapter MyDataAdapter = new MySqlDataAdapter();
MyDataAdapter.SelectCommand = new MySqlCommand("select * database_name.Users ;", MyConn);
MySqlCommandBuilder cb = new MySqlCommandBuilder(MyDataAdapter);
MyConn.Open();
MessageBox.Show("Database connection is established");
MyConn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我不得不说这是我第一次尝试创建这样的应用程序,因此如果这似乎是一个愚蠢的问题,我会道歉:(谢谢你,祝你有愉快的一天!
答案 0 :(得分:0)
问题可能是远程Linux机器可能没有打开端口3306。
从命令行可以运行:
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
打开mysql端口以实现远程连接
下面的页面说明了如何使用linux的各种优势。 http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html