Como acessar o Mysql instalado no windows host do ubuntu guest?

2

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. Eu quero acessar este banco de dados MySQL do meu convidado Ubuntu. Basicamente eu estou tentando desenvolver um aplicativo de exemplo usando o Django no meu convidado Ubuntu, e para isso eu preciso do MySQL. Eu tenho uma conexão de internet muito lenta, então não posso baixar o MySQL para o Ubuntu, e eu não tenho python instalado no meu sistema operacional host.

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

    
por Shekhar 31.07.2011 / 07:45

1 resposta

1

Você precisa examinar a tabela mysql.user

Geralmente, você pode executar essa consulta para ver os nomes de usuário, os endereços de host e as senhas criptografadas por MD5.

SELECT user,host,password FROM mysql.user;

EXEMPLO # 1: vamos criar um usuário chamado 'myclient' que se conectará ao mysql de um servidor Ubuntu cujo endereço IP seja '123.50.89.191' e que possa acessar e manipular completamente 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 se conectará ao mysql de um servidor Ubuntu cujo endereço IP seja '123.50.89.191' e que possa somente 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 mais informações sobre como criar usuários com privilégios específicos, siga este URL .

Experimente!

CAVEAT

É sempre melhor configurar a senha no formato MD5 em vez de senhas de 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;

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

    
por 01.08.2011 / 20:31