C#連接 LINUX的MYSQL初步所發生的問題
去mysql 那下載完後
使用MySql.Data.dll 以及MySql.Data.Entity.dll
把它加入C#做參考
1.注意語言程序. 要先將命令列寫入變數再放入函數
public static string connStr = "server=" + dbHost + ";uid=" + dbUser + ";pwd=" + dbPass + ";database=" + dbName;
MySqlConnection conn = new MySqlConnection(connStr);
2.如果主機拒絕使用遠程連線資料庫. 請記得開啟'
如果你想連接你的mysql的時候發生這個錯誤:
ERROR 1130: Host '192.168.1.2' is not allowed to connect to this MySQL server
1。 改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許使用者myuser從ip為192.168.1.2的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY 'newpassword' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>flush privileges; 這句一定要加上。
ex: PlayC# mysqltest
conn.Open();
string sql = string.Format("SELECT * FROM `tfvote`");
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader myData = cmd.ExecuteReader();
while (myData.Read())
{
MessageBox.Show(myData["pname"].ToString());
}