C#在局域网中连接Liunx上的MySql数据库

前期准备工作:

我所用的平台是VS2010和Ubuntu 14.04.3  LTS

一、由于MySql并没有集成在VS2010中所以要先安装MySQL Connector Net 6.9.8连接工具,可以在官网上下载,连接如下:http://dev.mysql.com/downloads/connector/net/

二、你安装的目录中你会找到Assemblies这个文件夹image,在这个文件夹中你会发现V2.0 v4.0 v4.5文件夹,如果没有表示你安装有问题,我用的.net框架是v4.0所以我查看v4.0中是否有关于MySql的动态链接库image,存在则表示我可以在VS上添加这个程序集了。

 

在VS2010远程连接MySql

1.在C#的项目中添加引用image,找到安装MySQL Connector Net 6.9.8连接工具的位置image,添加MySql.Data.dll文件,这样就可以在程序中引用using MySql.Data.MySqlClient;

2.由于MySql数据库安装默认3306端口是默认关闭的,监听127.0.0.1,利用sudo vi /etc/mysql/my.cnf编辑my.cnf 注释掉imagebind-address = 127.0.0.1;利用:sudo netstat –anp|grep 3306查看3306端口是否打开image;利用sudo service mysql restart重启MySql;

3.配置MySql后关闭Ubuntu中的防火墙,sudo ufw status查看防火墙状态,如果是活动的则利用 sudo ufw disable关闭(如果Ubuntu中没有ufw指令则利用apt-get install ufw安装防火墙)

4.一切配置好了,在本地安装有数据库的电脑上远程连接image,图中的用户test必须有远程访问的权限,给予test远程访问权限的SQL语句:GRANT ALL privileges on *.* to test@’%’ IDENTIFIED by ‘123’;(123是test的密码)之后刷新即可利用FLUSH privileges;

5.在c#中编写如下代码

       using MySql.Data.MySqlClient; 
       /// <summary>
        /// 测试是否能和Liunx上的MySql联通
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTestMySql_Click(object sender, EventArgs e)
        {
            string mySqlConn = "host=115.156.186.209;Port=3306;User Id=test;password=test;Database=graduation";
            //string mySqlConn = "host=115.156.187.240;User Id=root;password=xue;Database=example";
            MySqlConnection myconn = new MySqlConnection(mySqlConn);
            myconn.Open();
            if (myconn.State == ConnectionState.Open)
            {
                MessageBox.Show("MySQL Port is Opened!");
            }
            else
                MessageBox.Show("MySql Port is failed!");

            myconn.Close();
        }
结果如下:
image

posted on 2015-11-26 18:50  寒叶峰  阅读(725)  评论(0编辑  收藏  举报

导航