日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2025/3/21 数据库 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

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数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。