前期准备工作:

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

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

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

在VS2010远程连接MySql

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

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

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

4.一切配置好了,在本地安装有数据库的电脑上远程连接,图中的用户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();
}
结果如下:

C#在局域网中连接Liunx上的MySql数据库的更多相关文章

  1. Windows远程连接Ubuntu上的MySQL数据库

    原因:mysql安装好后,默认监听3306端口,并且只允许localhost访问,只允许root用户在localhost上登录.   我的环境:                 Ubuntu16.04 ...

  2. Navicat连接服务器上的Mysql数据库

  3. 怎么从docker 内部去连接host 上的mysql

    一般来说数据最好放在一个公共的地方,这样在多个docker 可以共享这些数据. 这篇文章就是讲怎么从docker 内部去连接host上的 mysql 数据库. 因为我的host 有public ip, ...

  4. jdbc连接阿里云服务器上的MySQL数据库 及 数据库IP限制

    问题1:Jdbc 如何连接阿里云服务器上的MySQL数据库? 解决: 上截图: 其中IP是阿里云服务器的公网IP地址. 问题2:   刚开始接手开发的时候,使用Navicat连接阿里云服务器上的数据后 ...

  5. 使用Navicat连接阿里云服务器上的MySQL数据库=======Linux 开放 /etc/hosts.allow

    使用Navicat连接阿里云服务器上的MySQL数据库   1.首先打开Navicat,文件>新建连接> 2,两张连接方法 1>常规中输入数据库的主机名,端口,用户名,密码 这种直接 ...

  6. 使用Navicat连接阿里云服务器上的MySQL数据库--转

    手把手教你如何正确连接阿里云服务器上的数据库: 1.首先打开Navicat,文件>新建连接>MySQL连接,其他的如一图所示. 2.因为是连接服务器上的MySQL,所以我们使用SSH连接, ...

  7. sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法

    sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法 1.报错误号码2013,可能是端口号不是默认的3306,需要改成对应的,检查命令是: [root@host et ...

  8. 远程连接服务器上的MySQL

    crt.navicat.Linux系统.MySQL 远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码). 创建用户用来远程连接 ...

  9. 使用Navicat远程连接阿里云ECS服务器上的MySQL数据库

    一.必须给服务器的安全组规则设置端口放行规则,在管理控制台中设置: 之后填写配置,授权对象是授权的IP,其中0.0.0.0/0为所有IP授权,之后保存; 二.Navicat使用的配置 在编辑连接处,要 ...

随机推荐

  1. Segment对象

    Segment对象是一个有起点和终点的“线“,也就是说Segement只有两个点,至于两点之间的线是直的,还是曲的,需要其余的参数定义. 所以Segment是由起点,终点和参数三个方面决定的.Segm ...

  2. win7 重启 IIS.

    步骤 1,打开 "控制面板",并将右上角的"查看方式"设置为 "大/小图标". 2,选择 "管理工具": 3,打开 In ...

  3. Ueditor使用方法

    1.到百度下载文件,有各种版本.下载.net版本 2.将所需文件导入工程中 分别是:themes文件夹.third-party文件夹.ueditor.all.min.js.ueditor.config ...

  4. ubuntu 安装RPM软件包

    red hat 系统用rpm格式的文件安装软件,ubuntu安装软件是用deb格式的文件安装 在ubuntu上安装rmp文件格式的软件包步骤: 1.安装转换软件 alien(需要联网) apt-get ...

  5. uva 688 - Mobile Phone Coverage

    经典问题,矩形面积并. 解法:一.矩形分割,每个矩形的两个横坐标和两个纵坐标排序,这样得到2n*2n个区间,对这些区间依次判断是否包含在n个矩形中间即可.      二.扫描线.具体还没实现过. 详见 ...

  6. WinForm(C#)自定义控件之——RoundButton(圆形按钮)

    最近需要做一个圆形的按钮,去CodeProject找了一下,发现有现成的可用,但不能完全满足我的需求.因此自己试着利用WinForm中的自定义组件功能,制作一个圆形按钮.圆形按钮小制作即将开始之前,先 ...

  7. 推荐Mac软件Alfred

    实在忍不住推荐这个软件了, 身边的朋友们逐渐都在使用Mac OS了,每次我都会推荐Alfred这个软件.推荐来推荐去挺蛮烦的,干脆写篇文章, 下次有朋友新入手Macbook,我就直接附送本文章链接一枚 ...

  8. How many ways??(HDU 2157)

    How many ways?? Sample Input 4 4 //n个点,m条路径0 1 //s->t可通0 21 32 32 //询问数0 3 2 //从0到3走两条路可到的方案有多少种0 ...

  9. .Net SSRS(rdlc) 报表经验总结

    排版 1. 可以利用表格来布局,以避免调整固定宽度的麻烦. 2. 一个表的表头里还可以嵌套表格. 3. 设置rdlc报表打印格式.首先打开RDLC报表设计器页面.在灰色部分点右键 -> 报表属性 ...

  10. layout_gravity与gravity的区别

    1:android:gravity 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置. 2:android:layout_gravity 这个是针对控件本身而言,用来控制该控件在包含该控 ...