Como acessar o Mysql instalado no host do Windows a partir do convidado do Ubuntu?

Como acessar o Mysql instalado no host do Windows a partir do convidado do Ubuntu?

Estou executando o Ubuntu como convidado em uma máquina host do Windows 7. Estou usando o VMware Workstation para executar os convidados.

Eu instalei o MySQL no host. Quero acessar este banco de dados MySQL do meu convidado Ubuntu. Basicamente estou tentando desenvolver um aplicativo de exemplo usando Django no meu convidado Ubuntu, e para isso preciso do MySQL. Eu tenho uma conexão de internet muito lenta, então não consigo baixar o MySQL para Ubuntu e não tenho o python instalado no meu sistema operacional host.

Como posso me conectar ao banco de dados MySQL do convidado do Ubuntu?

Responder1

Você precisa examinar a tabela mysql.user

Normalmente você pode executar esta consulta para ver os nomes de usuário, endereços de host e senhas criptografadas em MD5.

SELECT user,host,password FROM mysql.user;

EXEMPLO #1: vamos criar um usuário chamado 'myclient' que irá se conectar ao mysql a partir de um servidor Ubuntu cujo endereço IP é '123.50.89.191' e que pode acessar e manipular totalmente tudo no banco de dados 'mydata'. A senha será ‘permissão’;

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

EXEMPLO #2: vamos criar um usuário chamado 'myreadclient' que irá se conectar ao mysql a partir de um servidor Ubuntu cujo endereço IP é '123.50.89.191' e que só pode INSERT e SELECT tudo no banco de dados 'mydata'. A senha será 'readpermission';

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

Para saber mais sobre como criar usuários com privilégios específicos,siga este URL.

De uma chance !!!

EMBARGO

É sempre melhor configurar a senha no formato MD5 em vez de senhas em texto simples.

Exemplo

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)

Agora, defina a senha para o primeiro exemplo assim:

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

Aqui está o segundo exemplo usando o formato 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;

Fazer isso protegerá contra a gravação da senha de texto simples em logs binários ou em qualquer arquivo que esteja gravando sessões do cliente MySQL.

informação relacionada