1. 程式人生 > >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訪問。同樣執行上面兩行程式碼就可以。