1

Я знаю, что такой вопрос повторяется так много раз, но для этого нет правильного ответа.Как получить доступ к базе данных MySQL онлайн?

В качестве резюме я попытался подключиться к localhost и своему личному IP-адресу, и он отлично работает. Я также порт перенаправил порт 3306 в свой маршрутизатор, протестировал внешний ip-порт (который успешно открыт).

Соединение не будет работать, если я использую свой общедоступный IP-адрес для строки подключения «сервер».

Ссылка ниже дает более подробную информацию о моей проблеме. D: Сегодня я 4-й день нахожу решение этого.

Similar Question Link Here

ответ

0

Я не думаю сво вопрос сети (если настроен порт переадресации правильно) я была аналогичная проблема с подключением к серверу из глобальной сети (или локальной сети), и я установил его, что путь:

  1. мой сервер был запущен на Linux, по умолчанию конфигурацию подключения разрешения сервера только с локального хоста, так, чтобы это исправить я отредактирован// MySQL/my.cnf файл и т.д.: изменил привязку -address от 127.0.0.1 до 0.0.0.0 (если версия старой, вы должны прокомментировать «skip- network ").

  2. также (очень важно), я дал привилегию подключить конкретную базу данных, которую приложение необходимо подключить, через PHPmyadmin >> выбрать базу данных >> использовать вкладку привилегий.

То есть код, который I`m используя для подключения, он отлично работает с WAN (через внешний IP), а также из локальной сети к удаленному серверу.

надеюсь, что это помогает ...

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    Dim conn As New MySql.Data.MySqlClient.MySqlConnection 
    Dim myConnectionString As String 

    myConnectionString = "server=XX.XX.XX.XX;" _ 
       & "uid=root;" _ 
       & "pwd=435435;" _ 
       & "database=Test;" 

    Try 
     conn.ConnectionString = myConnectionString 
     conn.Open() 
     Dim query As String = "SELECT name FROM Test_Table" 


     Dim cmd As MySqlCommand 
     cmd = New MySqlCommand(query, conn) 
     ' cmd.Parameters.AddWithValue("@username", Usernametextbox.Text) 
     Dim userLevel As String = cmd.ExecuteScalar() 
     MsgBox(userLevel) 
     con.Close() 

    Catch ex As MySql.Data.MySqlClient.MySqlException 
     MessageBox.Show(ex.ToString) 
    End Try 

End Sub 
+0

Сервер IP-адрес право общественности? Просто, чтобы подтвердить, что это не частный ip? – Student

+0

Дополнительно: Я использую workbench mysql. Последняя версия. И нет адреса привязки. Они удалили его из этой версии, я думаю, – Student

+0

да, «сервер» в коде, назначенный публичному ip (маршрутизатор будет перенаправлять его на сервер private ip ...). это команды в файле my.cnf на моем Linux-машине: # Вместо скиповых сетей по умолчанию теперь прослушивается только # localhost, который более совместим и не менее безопасен. bind-address = 0.0.0.0 – Jonathan