Подключиться к существующей базе данных MySQL на сервере с локального компьютера - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь подключиться к существующей базе данных mysql на сервере linux и таблицах scaffold в моем проекте и работаю с ними через EFCore.

Я использую эту командную строку для scaffold:

dotnet ef dbcontext scaffold "server={IP};port={PORT};userid={USER_ID};password={PASSWORD};database={DB_NAME};" Pomelo.EntityFrameworkCore.MySql -o Models -f

Но это показывает мне эту ошибку:

Host '{MY_IP}' is not allowed to connect to this MySQL server

Я использую библиотеку Pomelo.EntityFrameworkCore.MySql на .NET Core 2.1 SDK

Что мне делать?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Если ваш экземпляр MySQL привязан к общедоступному IP-адресу (вы можете проверить это, выполнив сканирование порта 3306 для этого IP-адреса (при условии, что MySQL работает на стандартном порте), тогда вам нужно предоставить привилегии для базы данных для пользователя, которого выиспользуются следующим образом:

GRANT ALL PRIVILEGES ON <yourdb>.* TO `<youruser>`@`<yourip>` IDENTIFIED by '<yourpassword>';

После того, как вы запустите это, вам нужно запустить команду FLUSH PRIVILEGES;.Предполагая, что все вышеперечисленные условия выполнены, вы должны иметь доступ к вашей БД удаленно.

0 голосов
/ 05 декабря 2018

Есть две вещи, которые нужно понять, прежде чем пытаться подключиться.

1) Как правило, базам данных разрешено прослушивать локальные машины, то есть localhost.

2) базы данных при входящей аутентификации mysqlпара, т. е. user@host_name.

Таким образом, изменяя способ, которым DB хочет, чтобы вы действительно испортили безопасность.

Теперь вот способ, которым вы можете изменить MySQL listen для остального мира.

1) go to **my.cnf**, Check ‘**bind-address**’, comment this line. it
must be bind with `localhost` or `127.0.0.1`.  

2) go to database MySQL, table users, column host replace
`localhost` to `"%"`, so the anyone from anywhere can connect.  

3) `CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘some_pass’`;  

4) `GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘%’;`  

5) `FLUSH PRIVILEGES;`  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...