Как получить доступ к Mysql, установленному на хосте Windows, из гостевой ОС Ubuntu?

Как получить доступ к Mysql, установленному на хосте Windows, из гостевой ОС Ubuntu?

Я запускаю Ubuntu в качестве гостя на хост-машине Windows 7. Для запуска гостей я использую VMware Workstation.

Я установил MySQL на хосте. Я хочу получить доступ к этой базе данных MySQL из гостевой системы Ubuntu. По сути, я пытаюсь разработать пример приложения с использованием Django в гостевой системе Ubuntu, и для этого мне нужен MySQL. У меня очень медленное интернет-соединение, поэтому я не могу загрузить MySQL для Ubuntu, и у меня не установлен Python на моей хостовой ОС.

Как подключиться к базе данных MySQL из гостевой ОС Ubuntu?

решение1

Вам нужно просмотреть таблицу mysql.user

Обычно вы можете запустить этот запрос, чтобы увидеть имена пользователей, адреса хостов и пароли, зашифрованные с помощью MD5.

SELECT user,host,password FROM mysql.user;

ПРИМЕР № 1: давайте создадим пользователя с именем 'myclient', который будет подключаться к mysql с сервера Ubuntu, IP-адрес которого '123.50.89.191', и который может получить полный доступ и манипулировать всем в базе данных 'mydata'. Пароль будет 'permission';

GRANT ALL PRIVILEGES on mydata.*
TO 'myclient'@'123.50.89.191'
IDENTIFIED BY 'permission';

ПРИМЕР №2: давайте создадим пользователя с именем 'myreadclient', который будет подключаться к mysql с сервера Ubuntu, IP-адрес которого '123.50.89.191' и который может только INSERT и SELECT все в базе данных 'mydata'. Пароль будет 'readpermission';

GRANT INSERT,SELECT on mydata.*
TO 'myreadclient'@'123.50.89.191'
IDENTIFIED BY 'readpermission';

Подробнее о том, как создавать пользователей с определенными привилегиями, см.пожалуйста, перейдите по этому URL-адресу.

Попробуйте!!!

ПРЕДОСТЕРЕЖЕНИЕ

Всегда лучше устанавливать пароль в формате MD5, а не использовать простой текстовый пароль.

Пример

mysql> SET @X=PASSWORD('permission');
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @X;
+-------------------------------------------+
| @X                                        |
+-------------------------------------------+
| *1D6447E2F5B7AFD0E27D8E6CCA53099BE980803C |
+-------------------------------------------+
1 row in set (0.00 sec)

Теперь установите пароль для первого примера следующим образом:

GRANT ALL PRIVILEGES on mydata.*
TO 'myclient'@'123.50.89.191'
IDENTIFIED BY PASSWORD @X;

Вот второй пример использования формата MD5

mysql> SET @X=PASSWORD('readpermission');
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT @X;
+-------------------------------------------+
| @X                                        |
+-------------------------------------------+
| *22DA1CEDDBA3B75FD193775AC69D9184105F0BE0 |
+-------------------------------------------+
1 row in set (0.00 sec)

GRANT INSERT,SELECT on mydata.*
TO 'myreadclient'@'123.50.89.191'
IDENTIFIED BY PASSWORD @X;

Это защитит от записи открытого текстового пароля в двоичные журналы или любые файлы, в которых записываются сеансы клиентов MySQL.

Связанный контент