前期准备工作:

我所用的平台是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. SQlserver表连接

    连接是两元运算,可以对两个或多个表进行查询,结果通常是含有参加连接运算的两个表或多个表的指定列的表. 在T-SQL中,连接查询有两类: 第一类:符合SQL标准的连接谓词表示形式: 第二类:T-SQL扩 ...

  2. taglib的使用

    使用自定义的taglib可以是我们对页面数据的处理放在后台,不仅使用方便,而且影藏了处理逻辑,也更加的安全. 需要使用到servlet.jar 1.在web-inf下建立taglib.tld文件 &l ...

  3. nginx log日志分割

    @echo offrem 备份并根据时间重命名错误日志文件set "cmdstr=move E:\nginx\logs\error.log E:\nginx\logs\error%date: ...

  4. 创建区域Areas,添加TagHelper

    创建区域Areas,添加TagHelper 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 在Asp.net Core VS2015中,我们发现还有很多不太简便的地方,比如右 ...

  5. qt实现头像上传功能(写了4个类,朝十晚八的博客,非常好)

    想必大家都使用过qt的自定义头像功能吧,那么图1应该不会陌生,本片文章我就是要模拟一个这样的功能,虽然没有这么强大的效果,但是能够满足一定的需求. 图1 qq上传图片 首先在讲解功能之前,我先给出一片 ...

  6. Qt使用MinGW编译,如何忽略警告

    Qt编译时经常出现以下警告: warning: unused parameter 'arg1' [-Wunused-parameter] warning: unused variable 'i' [- ...

  7. 工厂方法模式 - OK

    工厂方法模式(Factory Method),定义了一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到子类. 工厂方法模式在实现时,客户端需要决定实例化哪一个工厂来实现运 ...

  8. java实现矩阵连乘的动态规划

    package com.cjs.algorithm; public class DynamicPlan { /** * 此方法用来求解矩阵连乘的最小数乘次数 * * @param p * 传入的要连乘 ...

  9. cocos2dx lua 加密

    cocos2dx-lua项目发布时,为了保护lua源码,需要对lua进行加密.通常分为两种方式:加密文件和编译为字节码. 1.加密文件 前提是你不用luajit,而使用lua.这样这种方法是真正加密, ...

  10. 关于static静态

    静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { private static $speed = ...