Я запускаю 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.