C#远程访问linux(ubuntu)或windows的mysql数据库
1、远程访问数据库大概模型
2、mysql在win7、linux上如何设置:
2.1、分配权限(linux和win7)
进行mysql命令行,进行分配权限、执行
ALL PRIVILEGES分配所有的权限,如Select、Insert、Delete、Update、Drop、Create等等
*.*是 数据库.数据库中的表
'Lucy'是远程机子要访问本计算机的所需要的用户名(这个由mysql分配用户给远程机子,当然,还要通过一下步的3306端口)
'192.168.1.102'是远程机子的IP地址(这个由mysql指定远程机子哪个IP地址可以让访问)
'123'是远程机子知道了用户,需要访问的用户密码(这个也是由mysql分配密码给远程机子)
所以也可以归纳为:
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
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)=>驱动程序
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、远程访问后,运行效果:
6、总结
6.1、操作系统上大部分有一些共性,其操作思想是可以移植的。
6.2、如何看懂相应的配置文件说明是很重要的。
6.3、命令行多少也得学一些。至少打开‘服务’的时候,输入services.msc,就可以打开服务了。
6.4、抽象出自己可理解和实际相结合的模型是挺重要的。
6.5、(举一反三)是不是只有C#行呢?VB、Java这些不行吗?那linxu下ruby、php去访问windows的SQL呢?具体情况,就只有实践能证明了。
from: http://www.cnblogs.com/yongfeng/archive/2010/08/15/1799905.html
C#远程访问linux(ubuntu)或windows的mysql数据库相关推荐
- linux(ubuntu)下C++访问mysql数据库
2019独角兽企业重金招聘Python工程师标准>>> Ubuntu安装msyql 安装mysql数据库 sudo apt-get install mysql-server 安装my ...
- linux平台及windows平台mysql重启方法
linux平台及windows平台mysql重启方法 Linux下重启MySQL的正确方法: 1.通过rpm包安装的MySQL service mysqld restart 2.从源码包安装的MySQ ...
- linux c c 常用的日志库,mslog: 一款超轻量级的C日志库,无需依赖额外的库,测试或移植过的系统有Linux(ubuntu,centos),Windows以及部分嵌入式设备;...
mslog 1.综述 一款超轻量级的C日志库,无需依赖额外的库,库的设计目标为"简洁,可移植性强".测试或移植过的系统有Linux(ubuntu,centos),Windows ...
- linux下使用的mysql数据库,Linux下安装以及使用MySQL数据库
1.官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/ 2.linux 下可直接下载:wget https://cdn.mysql.com//Dow ...
- win7和mysql乱码,windows本地mysql数据库存入中文乱码
windows本地mysql数据库存入中文乱码 作者:PHPYuan 时间:2018-07-23 03:41:20 出现的问题: 我这页面存中文到数据库会乱码 我打了断点 中文是传到后台dao层的 然 ...
- Windows下MySQL数据库更改数据存储位置
Windows下MySQL数据库更改数据存储位置 1.创建一个新的存储数据文件 比如,我创建了一个文件 E:\MySQL_Service ,用来放mysql数据. 2.找到配置文件my.ini和my ...
- mysql:Windows修改MySQL数据库密码
mysql:Windows修改MySQL数据库密码 用SET PASSWORD命令 用mysqladmin 用UPDATE直接编辑user表 忘记密码时 用SET PASSWORD命令 这是最后成功的 ...
- windows linux mysql_linux/windows环境mysql数据库安装与使用
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...
- Ubuntu下Tomcat连接MySql数据库
Linux下在tomcat上配置MySql数据库没Windows那么简单,得折腾一翻...因此值得写下来做个记录,供日后参考. 1. 下载安装MySQL Ubuntu下安装MySQL非常简单,只需要: ...
最新文章
- python 数据库查询结果邮件提醒_Python实现的查询mysql数据库并通过邮件发送信息功能...
- A16Z内部万字报告:人类与AI结合的最佳形态
- 赶集网人事调整:三月内两副总离职
- mysql 备库,高性能MySQL:主库、分发主库以及备库
- printf 格式控制符的完整格式
- Linux常见英文报错中文翻译(菜鸟必知)
- mysql允许所有用户连接_Mysql权限控制 - 允许用户远程连接
- tomcat之jsp连接mysql数据库
- Java多线程包之BlockingQueue
- 下次跳槽该去哪?国内AGV厂家区域分布
- 网上流传的飞扬学院Java_收获| 云和JAVA、UI双班毕业,飞扬青春再出发!
- 阶跃函数和符号函数的傅里叶变换
- O'Reilly Java系列书籍建议阅读顺序(转自蔡学庸老师)
- FindNextFile函数
- 百度怎么上传个人信息,百度百科怎么创建自己呢?
- 浅析电脑前的“游荡状态”
- chinapay java_Chinapay应用技术部Java编码规范.docx
- 星之匙,石之阶,火之行:我们能从EMUI 10.1读出什么
- Word文档在线翻译使用的软件
- 两相步进电机FOC矢量控制Simulink仿真模型
热门文章
- html中after伪类原理,css伪类before跟after原理与使用(原)
- 同时存多个变量缓存 微信小程序_微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解...
- Spring4.X系列之AOP基础篇
- Spring-AOP @AspectJ进阶之绑定抛出的异常
- Oracle-PL/SQL基础
- 记一次Weblogic连接池泄露的修复过程
- 解决ZooKeeper集群搭建 [myid:1] - WARN [QuorumPeer[myid=1]:QuorumCnxManager@685] - Cannot open channel
- 华为Android9.0谷歌框架,华为Mate9怎样登陆谷歌商店 Mate9如何安装谷歌服务框架【详解】...
- php 得到 ts文件,获取TypeScript声明文件.d.ts步骤详解
- halcon知识:【2】二维码原理