下記のようにIP指定でMYSQLサーバに接続しているのですが、
接続先が指定したサーバのアドレスではなく、localhostであることがわかりました。
接続先を
SERVER = "localhost"; ←ローカルホストに接続される(開発環境)
SERVER = "133.XXX.XXX.XXX"; ←エラーもなく、SQLでデータも取得できるのでサーバに接続しているものだと思っていたらなぜか、ローカルホストからデータを取得していました。
接続先に接続できなかったら自動的にローカルを参照するようなことはないですよね?
何かおかしなところはありますでしょうか。
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5using System; 6using MySql.Data; 7using MySql.Data.MySqlClient; 8 9public class FormControl : MonoBehaviour 10{ 11 12 public string SERVER = "133.XXX.XXX.XXX"; 13 public string DATABASE = "db"; 14 public string USERID = "root"; 15 public string PORT = "3306"; 16 public string PASSWORD = "xxx"; 17 18 public MySqlConnection conn; 19 20 void Start() 21 { 22 23 string connCmd = 24 "server=" + SERVER + ";" + 25 "database=" + DATABASE + ";" + 26 "userid=" + USERID + ";" + 27 "port=" + PORT + ";" + 28 "password=" + PASSWORD; 29 30 conn = new MySqlConnection(connCmd); 31 32 try 33 { 34 Debug.Log("MySQLと接続..."); 35 conn.Open(); 36 } 37 catch (Exception ex) 38 { 39 Debug.Log(ex.ToString()); 40 } 41 42 43 44 } 45 46 //アプリケーションの終了時 47 void OnApplicationQuit() 48 { 49 conn.Close(); 50 Debug.Log("接続を終了しました"); 51 } 52}
---補足---
サーバ上で下記のように外部からアクセスできるユーザを作成しています。
grant all privileges on . to test_user1@"%" identified by 'test1234' with grant option;
クライアント側の端末でmysqlを起動し、
mysql -h xxx.xxx.xxx.xxx -u test_user1 -p
で接続すると問題なく接続できました。
回答1件
あなたの回答
tips
プレビュー