mysql ipv6 监听参照 https://www.jb51.net/article/133019.htm 这篇文章弄得。
Navicat 也可以通过ipv6的账户进行连接
C# 程序改怎么写呢
这样么
static void Main(string[] args)
{
using (MySqlConnection conn = new MySqlConnection("server=::1;uid=ipv6test;pwd=root;database=test1;CharSet=utf8"))
{
string sql = "select * from host";
using (MySqlCommand comm = new MySqlCommand(sql, conn))
{
conn.Open();
var reader = comm.ExecuteReader();
if (reader.Read())
{
string host = reader["host"] == System.DBNull.Value ? string.Empty : reader["host"].ToString();
Console.WriteLine(host);
}
reader.Close();
}
}
Console.ReadKey();
}
MySqlConnection 不支持 IPv6 ,需要改用 MySqlConnector
首先感谢大佬的指点,之前还一直在翻stackoverflow 看官方文档,没查出啥头绪。
使用.net core 然后nuget 添加 MySqlConnector起码可以读取数据了
代码和原来的一模一样,在贴一遍吧
···
static void Main(string[] args)
{
using (MySqlConnection conn = new MySqlConnection("server=::1;uid=ipv6test;pwd=root;database=test1;CharSet=utf8"))
{
string sql = "select * from host";
using (MySqlCommand comm = new MySqlCommand(sql, conn))
{
conn.Open();
var reader = comm.ExecuteReader();
while(reader.Read())
{
string host = reader["host"] == System.DBNull.Value ? string.Empty : reader["host"].ToString();
Console.WriteLine(host);
}
reader.Close();
}
}
Console.ReadKey();
}
···
我的老系统都是 Framework的不是 .Net Core 的项目,不过试了一下貌似只需要更改一下Nuget包引用就行,我在研究研究会有其他影响没把,再次感谢大佬
抱歉这代码格式一致整理不好