使用 C# 远程连接 MySQL

Posted

技术标签:

【中文标题】使用 C# 远程连接 MySQL【英文标题】:Connect to MySQL remotely with C# 【发布时间】:2017-11-27 16:45:22 【问题描述】:

我在学校有一个 IT 任务,我需要为数据库收集数据。

我制作了一个允许用户输入的 C# 应用程序,然后将其存储到 mt 数据库中,问题是我似乎无法连接它。

我有一个 DNS:maliciouzzhd.ddns.net

我打开并转发了3306 端口。

我只是不知道这之后该怎么办。

我正在使用 XAMPP。

这是我的代码:

string CommandText = $"INSERT INTO UserData (FirstName, LastName, BirthDay, BirthMonth, BirthYear, UserName, EMail, Password, Admin, IP) values ('FirstNameInput.Text', 'LastNameInput.Text', BirthDayInput.Text, 'BirthMonthInput.Text', BirthYearInput.Text, 'UserNameInput.Text', 'EMailInput.Text', 'PasswordInput1.Text', 0, 'IPTextBox.Text')";

string ConnectionString = "server=maliciouzzhd.ddns.net;database=***********;uid=***********;pwd=**************;";
using (var mysqlconnection = new MySqlConnection(ConnectionString))

    mysqlconnection.Open();
    using (MySqlCommand cmd = mysqlconnection.CreateCommand())
    
        cmd.CommandType = CommandType.Text;
        cmd.CommandTimeout = 300;
        cmd.CommandText = CommandText;
        object objValue = cmd.ExecuteScalar();
    
    mysqlconnection.Close();

如果有人知道我可以做些什么来让它连接,那就太好了。

谢谢

编辑:当我将Server=maliciouzzhd.ddns.net 更改为Server=10.0.0.1Server=127.0.0.1 时,忘记提及这适用于本地主机,但我需要它是远程的。

【问题讨论】:

您收到什么错误? Unable to connect to any of the specified MySQL hosts. 您需要先使用ang GUI 工具进行连接。如果此操作失败,则问题出在您创建的转发端口上。可能配置不正确。 忘了说我在 localhost 上工作了 您正在使用的 MySQL 用户可能未配置为从“任何”远程主机登录。 MySQL 用户像这样username@host。您使用username@'%' 创建一个用户并尝试连接。 【参考方案1】:

首先添加mysql库。 项目->添加引用->浏览 dll 文件。 然后使用导入类

using MySql.Data.MySqlClient;

MySql 连接代码:

MySqlConnection conn;
conn = new MySqlConnection("SERVER=server_name;DATABASE=database_name;UID=database_username;PASSWORD=database_password");

打开连接

conn.Open();

关闭连接

conn.Close();

【讨论】:

以上是关于使用 C# 远程连接 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

Sql-Server 配置远程连接以及C#连接字符串

C#远程连接不上SQL2000,error:40

C#winform远程连接sql数据库

如何开启MySQL远程访问权限 允许远程连接

如何连接远程Mysql数据库

c# mysql连接字符串问题