前期准备工作:

我所用的平台是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. 学习Android NestedScroll

    NestedScrollingChildHelper 这是一个用于实现子视图嵌套滚动的辅助类,并提供对Android 5.0之前版本的前兼容. View要作为嵌套滚动中的Child,要在构造方法中实例 ...

  2. oracle 查询前一小时、一天、一个月、一年的数据

    查询一小时 select concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-1),':00:00') start_time ...

  3. Swift中的协议

    协议: 1.Swift协议用于定义多个类型应该遵守的规范 2.协议定义了一种规范, 不提供任何实现 3.协议统一了属性名, 方法, 下标, 但是协议并不提供任何实现 4.语法格式: [修饰符] pro ...

  4. Turtle库

    下列turtle库的简单常用指令 forward(distance) #将箭头移到某一指定坐标 left(angel) right(angel) penup() #提起笔,用于另起一个地方绘制时 ...

  5. 记录一下最近开发web移动前端的过程

    两个项目 第一个是公司网站的移动端,我所在的公司是做某方面的新闻站的. 所以说页面基本是以一条条的新闻+图文混排为主,顶部有一个自动slider+触屏滑动的功能, 使用的是swipe插件,轻量,简洁非 ...

  6. web标准(复习)--7 横向导航菜单

    今天我们开始学习html列表,包含以下内容和知识点: 横向列表菜单 用图片美化的横向导航 css Sprites 一.横向列表菜单前边学习过纵向导航菜单,又学习了float属性,那么要实现横向导航菜单 ...

  7. win32 console application 如何修改图标?

    win32 console application ,不要看这名字高端大气上档次,让你摸不着头脑,其实他就是我们最先学习c语言那种黑色窗口的东西......话说他怎么修改图标呢?第一种方法是:右键-〉 ...

  8. centos卸载自带的apache(httpd)

    .[root@localhost etc]# rpm -qa|grep httpd,查看与httpd相关软件包. httpd--.el5_2.CentOS. .然后删除httpd: [root@loc ...

  9. Objective-C Http常用API 同步请求与异步请求

    开发iOS应用要调用Http接口.获取Http资源,有一套比较成熟的框架ASIHTTPRequest.而我还是比较喜欢使用原始一点的 API,而它跟其他的面向对象语言有许多共通之处.本文分同步请求和异 ...

  10. 使用OC和swift创建系统自带的刷新界面

    使用OC和swift创建系统自带的刷新界面 一:swift刷新界面代码: import UIKit class ViewController: UITableViewController { // 用 ...