◎ 固定 IP:
首先該主機要設定成固定的 IP,假設是用在內部網路 (在路由器之內),就設成 192.168.0.250。
◎ 開放 Port 3306:
設定的方法:進入控制台 --> Windows Defender 防火牆 --> 進階設定 --> 右擊輸入規則 --> 新增規則 --> 點擊連接埠 --> 下一步 --> 特定本機連接埠:3306 --> 下一步 --> 允許連線 --> 下一步 --> 下一步 --> 名稱:3306 --> 完成。
再右擊輸出規則 --> 新增規則 --> 點擊連接埠 --> 下一步 --> 特定本機連接埠:3306 --> 下一步 --> 允許連線 --> 下一步 --> 下一步 --> 名稱:3306 --> 完成。
◎ 修改 my.ini:
右擊C:\ProgramData\MySQL\MySQL Server 5.7\my.ini --> 編輯 --> 在最後一行加入 skip-grant-tables --> 儲存後離開編輯器。重新啟動 MySQL57 服務,或者重新開機。
值得一提的是,grant table 設定網上有很多貼文,我也曾照做,導致本機的 MySQL Workbench 都無法連線,後來用 skip-grant-tables 解決。必須強調這是在封閉的內網上的解決方案,若要把 MySQL 主機放到外網,還是要照正統的方法來,切不可這麼做。
值得一提的是,grant table 設定網上有很多貼文,我也曾照做,導致本機的 MySQL Workbench 都無法連線,後來用 skip-grant-tables 解決。必須強調這是在封閉的內網上的解決方案,若要把 MySQL 主機放到外網,還是要照正統的方法來,切不可這麼做。
◎測試 MySQL 主機的設定是否成功?
在網內別台電腦啟動 MySQL Workbench 點擊 Databases --> 選擇 Connect to Database -->
MySQL Workbench 連結內網的 MySQL 主機 |
將 Hostname 改成 MySQL 主機之 IP 192.168.0.250 --> 輸入密碼 --> 若能看到
MySQL Workbench 連結內網的 MySQL 主機成功 |
看到這個畫面就表示 MySQL 主機設定成功。
◎下載 mysql-connector-net-6.8.3.msi :
下載的網址是 https://downloads.mysql.com/archives/c-net/,Product Version : 6.8.3,Operating System :保留 Microsoft Windows -->下載安裝程式
點擊 Download 下載。
下載 mysql-connector-net-6.8.3.msi 的網址 |
◎安裝 mysql-connector-net-6.8.3.msi :
只要用預設值一直按下一步就可完成安裝。重點是每一台 MySQL Client 都必須安裝。經過測試後,從 Windows XP 到 Windows 10 都可順利安裝。
◎修改 Visual Studio 程式 :
將 Visual Studio C# 程式從存取 MS-SQL 改到 MySQL 所費的功夫並不大。為了相容於 Windows XP ,我刻意拿了一個 .Net Framework 4.0 的小系統來測試,這個系統約有 60 支程式,只花二個小時左右就可依照 MySQL 的特性重新建造完成。重點如下:
○專案加入參考:
專案 --> 加入參考 --> C:\Program Files (x86)\MySQL\MySQL Connector Net 6.8.3\Assemblies\v4.0\MySql.Data.dll 其中 v4.0 符合 .Net Framework 4.0 。
○程式修改連線字串:
將 ConnectionString = @"server=192.168.0.250;database=PAM;uid=PAM;pwd=12345678"; 改成@"server=192.168.0.250;database=PAM;uid=root;pwd=12345678;charset=utf8;PORT=3306;";
○程式修改參考:
將 using System.Data.SqlClient; 改成 using MySql.Data.MySqlClient;
○程式 SQL 語法:
將 SqlConnection 改成 MySqlConnection
將 SqlCommand 改成 MySqlCommand
將 SqlSqlDataAdapter 改成 MySqlDataAdapter
◎測試 Visual Studio 程式 :
偵錯 --> 開始偵錯 --> 輸入使用者名稱與密碼 --> 按簽入 --> 若看到使用者名稱不存在,表示已經連上 MySQL 資料庫,不過目前沒資料。
Visual Studio C# 已經連上 MySQL 資料庫主機,不過目前沒資料。 |
沒有留言:
張貼留言