C#远程访问linux(ubuntu)或windows的mysql数据库

摘要:
默认情况下不会打开MySQL的默认端口3306。=˃重新启动MySQL,即在命令行中输入“sudo/etc/init.d/mysqlrestart”。3.客户可以前往http://dev.mysql.com/downloads/connector/odbc/3.51.html这里不讨论下载和安装。控制面板=˃管理工具=˃数据源=˃驱动程序4和C#只需编写另一侧存在的数据库。这里使用mysqlusingSystem;使用System.Collections。通用的使用系统。Linq;使用系统。网状物使用System.Web。UI;使用System.Web.UI。Web控件;使用系统。数据使用System.Data。Odbc;namespaceHelp{publicpartialclassWebForm2:System.Web.UI.Page{protectedvoidPage_Load{stringsrconn=“驱动程序={MySQLODBC3.51Driver};服务器=192.168.1.102;数据库=information_schema;用户=Lucy;密码=123;选项=3;图表集=utf8”;stringsql=“从CHARACTER_SETS中选择*”;OdbcConnectionmyConnection=newOdbcConnection;OdbcCommandmyCommand=newOdbcCommand;myConnection。打开();//DropDownList1.DataSource=myCommand。ExecuteReader;//DropDownList1.DataTextField=“name”;//DropDownList1.DataValueField=“id”;//DropDownList1.DataBind();OdbcDataAdaptersda=新OdbcDataAdapter();星期三。SelectCommand=myCommand;DataSets=newDataSet();星期三。填满GridView1.DataSource=ds;GridView1.DataBind();myConnection。Close();}}5.远程访问后,运行效果:6.总结6.1.大多数操作系统都有一些共性,它们的操作思想可以移植。Linxu中的Ruby和PHP如何访问Windows SQL?
 1、远程访问数据库大概模型

C#远程访问linux(ubuntu)或windows的mysql数据库第1张

2、mysql在win7、linux上如何设置:

2.1、分配权限(linux和win7)

进行mysql命令行,进行分配权限、执行

GRANTALLPRIVILEGESON*.*TO'Lucy'@'192.168.1.102' IDENTIFIED BY'123'WITHGRANTOPTION;

ALL PRIVILEGES分配所有的权限,如Select、Insert、Delete、Update、Drop、Create等等

*.*是 数据库.数据库中的表

'Lucy'是远程机子要访问本计算机的所需要的用户名(这个由mysql分配用户给远程机子,当然,还要通过一下步的3306端口

'192.168.1.102'是远程机子的IP地址(这个由mysql指定远程机子哪个IP地址可以让访问)

'123'是远程机子知道了用户,需要访问的用户密码(这个也是由mysql分配密码给远程机子)

所以也可以归纳为:

GRANTALLPRIVILEGESON 数据库.数据库表 TO'远程机用户名'@'远程机IP' IDENTIFIED BY'远程机用户密码'WITHGRANTOPTION;

2.2、打开3306端口

2.2.1、为什么要打开3306端口?

因为防火墙问题,例如:

IIS配置ASP后,局域网的机子不能访问本机的网页(如果默认端口是80),而关掉防火墙就可以。是因为你的80端口没有打开。

而mysql的默认端口3306是默认没有打开的

2.2.2、为什么我们远程访问SQL的时候,不用打开端口?

因为SQL的端口是默认打开的,而你远程访问SQL数据库的时候,只要知道它的用户名、密码、端口号1433就行了。

2.2.3、如何打开mysql的端口

2.2.4、在win7上,只要在‘入站规则’上建立一个3306端口即可。

控制面板=>管理工具=>高级安全的Windows防火墙=>入站规则

然后新建规则=>选择‘端口’=>在‘特定本地端口’上输入一个‘3306’=>选择‘允许连接’=>选择‘域’、‘专用’、‘公用’

=>给个名称,如:mysqlinput

C#远程访问linux(ubuntu)或windows的mysql数据库第2张

2.2.5、在linux的ubuntu上,对mysql的配置文件进行配置均可。

按F3(打开命令行)=>输入"sudo vi /etc/mysql/my.cnf"(用vim打开)=> 

# Instead of skip-networking the default is now to listen only on 

# localhost which is more compatible and is not less secure.

bind-address = 127.0.0.1

注释掉bind-address均可,即#bind-address = 127.0.0.1,表示允许通过远程端口3306访问。

=>重启mysql,即在命令行输入"sudo /etc/init.d/mysql restart"

3、客户端

(win7或ubuntu下载 MySQL ODBC 3.51 Driver,因为在ubuntu上有人用Mono搞C#,所以ubuntu也提进去)

可以到http://dev.mysql.com/downloads/connector/odbc/3.51.html下载,安装在此不多说了。

安装完后,在win7下怎么看你有了MySQL ODBC 3.51 Driver这个驱动程序呢?(Mono我就帮不了忙了,因为我没有使用过)

控制面板=>管理工具=>数据源(ODBC)=>驱动程序

C#远程访问linux(ubuntu)或windows的mysql数据库第3张

4、C#方面

  这里就简单写一个对方存在的数据库(information_schema是默认存在的),这里用的是mysql

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using System.Data.Odbc;

namespace Help
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strconn = "Driver={MySQL ODBC 3.51 Driver};Server=192.168.1.102;Database=information_schema;User=Lucy; Password=123;Option=3;chartset=utf8";
string sql = "select * from CHARACTER_SETS";
OdbcConnection myConnection = new OdbcConnection(strconn);
OdbcCommand myCommand = new OdbcCommand(sql, myConnection);
myConnection.Open();

//DropDownList1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
//DropDownList1.DataTextField = "name";
//DropDownList1.DataValueField = "id";
//DropDownList1.DataBind();
OdbcDataAdapter sda = new OdbcDataAdapter();
sda.SelectCommand = myCommand;
DataSet ds = new DataSet();
sda.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();

myConnection.Close();
}
}
}
5、远程访问后,运行效果:

C#远程访问linux(ubuntu)或windows的mysql数据库第4张

6、总结

  6.1、操作系统上大部分有一些共性,其操作思想是可以移植的。

  6.2、如何看懂相应的配置文件说明是很重要的。

  6.3、命令行多少也得学一些。至少打开‘服务’的时候,输入services.msc,就可以打开服务了。

  6.4、抽象出自己可理解和实际相结合的模型是挺重要的。

  6.5、(举一反三)是不是只有C#行呢?VB、Java这些不行吗?那linxu下ruby、php去访问windows的SQL呢?具体情况,就只有实践能证明了。

免责声明:文章转载自《C#远程访问linux(ubuntu)或windows的mysql数据库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于编译Qt以及驱动的一点总结吧 Rollen Holt 博客园centos 7设置静态IP下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux包之iproute之ip命令

[root@localhost ~]# rpm -qf /sbin/ipiproute-2.6.32-31.el6.x86_64ip 是个命令, ip 命令的功能很多!基本上它整合了 ifconfig 与 route 这两个命令ip - show / manipulate routing, devices, policy routing and tunne...

linux 命令行出现-bash-4.2$的解决办法

输入这两句话,然后关闭终端,重新登录一下就好了 cp /etc/skel/.bashrc /root/ cp /etc/skel/.bash_profile /root/ 同样的方法,如果是非root而是某用户,就把目标路径换成相对应的用户路径即可。 这两个文件通常在建立用户目录是自动添加,如果是你手动创建文件夹在/etc/passwd指定目录也会出现该错...

Linux路径名和文件名最大长度限制

UNIX标准对路径名和文件名最大长度限制做出了说明,但其上限值在实际应用长过小,Linux在具体实现时提升了该上限,该限制在Linux的 /usr/include/linux/limits.h 中做出了说明,具体如下: 1 #ifndef _LINUX_LIMITS_H 2 #define _LINUX_LIMITS_H 3 4 #define...

C#获取当前路径

//获取包含清单的已加载文件的路径或 UNC 位置。         public static string sApplicationPath = Assembly.GetExecutingAssembly ( ).Location;         //result: X:\xxx\xxx\xxx.dll (.dll文件所在的目录+.dll文件名)...

linux下安装composer以及使用composer安装laravel

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nianzhi1202/article/details/72770099 一.安装composer之前首先要确定您的机器上已经安装了php,并可以通过php来执行命令。使用php –v 测试 当然要直接使用php 还需确定php命令已经设置在全局命令中,否...

MySQL同步故障:" Slave_SQL_Running:No" 两种解决办法

进入slave服务器,运行: mysql> show slave statusG Relay_Log_File: localhost-relay-bin.000535 Relay_Log_Pos: 21795072 Relay_Master_Log_File: localhost-bin.000094 Slave_IO_Running:...