c#远程链接服务器中MySQL

转自原文 c#远程链接服务器中MySQL

1、要连接MySQL数据库必须首先下载mysql官方的连接.net的文件,文件下载地址为http://dev.mysql.com/downloads/connector/net/6.6.html#downloads ,下载平台选择.Net&Mono,下载ZIP免安装版。

2:在VS中,项目--添加引用,将下载后并且解压后v4里面的所有文件添加进去。(此时就可以链接MySQL数据库了。)

3:确保服务器中的MySQL数据库可以远程链接,测试方法Navicat for MySQL可以连接的上。如果不能请参考我的另外一篇博客。(《操作服务器及数据库可以使其远程链接》)

4:测试代码如下:

        private void button1_Click(object sender, EventArgs e)
        {
            string constr = "server=111.11.111.1;Uid=root;password=****;Database=ccs";//server处可以为localhost(本机的MySQL),

//可以为云主机,那么等于号后为ip.Database为你的数据库名称
            MySqlConnection mycon = new MySqlConnection(constr);
            mycon.Open();
            MySqlCommand mycmd = new MySqlCommand("insert into UseIn values('12345678911','dikd3939')", mycon);//此处是将12345678911 和

//dikd3939插入到我的数据库UseIn中,因为我的数据库中只有ID和password所以只有两项,可以根据自己数据库的表调整
            if (mycmd.ExecuteNonQuery() > 0)
            {
                MessageBox.Show("插入成功");
            }
            Console.ReadLine();
            mycon.Close();
        }

5:假如成功,则会出现“插入成功”。
6:常见错误:Authentication to host '119.29.***.**' for user 'root' using method 'mysql_native_password' failed with message: Access denied for user 'root'@'111.19.**.***' (using password: YES)。解决方法:第一个ip是数据库在的服务器ip,第二个事你的电脑在的ip。有两种原因,1:你的密码有错误,可以进到MySQL数据库中通过执行

 grant all privileges on *.* to "root"@"%" identified by "密码";
再执行flush privileges;
来更改访问数据库的密码。

2host没有允许所有ip访问。同样执行上面两行代码就可以。

 

posted @ 2017-07-22 12:01  wenglabs  阅读(5990)  评论(0编辑  收藏  举报