Servidor Mysql

Iniciado por groove, 03 de Junho de 2011, 22:02

tópico anterior - próximo tópico

groove

Galera, estou tentando instalar um servidor mysql no meu Ubuntu porém estou com uma dúvida: é necessário instalar outro servidor(apache) pra conseguir colocar o servidor mysql no ip do apache para que todas as máquinas da rede acessem??
Quero somente utilizar o mysql, porém quando instalo ele, vai direto pro loopback, tem como mudar somente o ip pra todos acessarem?
Ubuntu 18.04

groove

Consegui acessar o servidor em partes..
Tipo quando instalei ele foi em localhost..agora setei um ip na minha máquina..porém quando tento acessar o mysql por esse ip diz que nao tenho permissão "/


mysql -h 192.168.10.2 -u kauan -p
Enter password: ai digito a senha q to usando no servidor locahost e..
ERROR 1045 (28000): Access denied for user 'kauan'@'192.168.10.2' (using password: YES)


Como estou usando outro servidor, tenho que ter outros usuários?? Não consigo entender isso, por favor alguém helpa ai..
Ubuntu 18.04

FaBMak

"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

groove

#3
Muito obrigado FaB, consegui resolver. Agora ficaram algumas dúvidas:
1-O bind-adress é o ip do servidor então? Pq li em alguns lugares pra deixar ele setado em 0.0.0.0 para 'ouvir' todos..
2-Quando acessava o mysql pelo localhost, eu criei um usuário(kauan) e dei acesso total assim:

GRANT ALL PRIVILEGES ON *.* TO kauan@'%' IDENTIFIED BY 'alguma_senha';

O percente ali significa "todos ips", correto?
Pois eu tive que entrar no mysql, no localhost, e dar permissão novamente trocando o % pelo ip do meu servidor "/ Não entendi.

Outra coisa, consigo acessar a database com ambos users(root, kauan), porém só visualizo as tables com o usuário root, se tento visualizar com kauan, o mysql informa que não existem "/
Ubuntu 18.04

zekkerj

Citação de: groove online 03 de Junho de 2011, 22:02
Galera, estou tentando instalar um servidor mysql no meu Ubuntu porém estou com uma dúvida: é necessário instalar outro servidor(apache) pra conseguir colocar o servidor mysql no ip do apache para que todas as máquinas da rede acessem??
Quero somente utilizar o mysql, porém quando instalo ele, vai direto pro loopback, tem como mudar somente o ip pra todos acessarem?
Não, não é preciso. Mas vai ajudar bastante, pois você pode fazer consultas ao MySQL via PHP, o que facilita bastante.
Sugiro que você leia o artigo abaixo, ele explica bem como fazer a instalação de um servidor LAMP (Linux+Apache+Mysql+Php).
http://www.hardware.com.br/livros/servidores-linux/instalando-servidor-lamp.html
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

groove

Entendi zekkerj, porém no momento estou precisando somente do mysql mesmo, não estou conseguindo definir as permissões das tabelas "/
Ubuntu 18.04

zekkerj

Recomendo fortemente que você leia o artigo. Lá explica como instalar o phpMyAdmin, que vai te simplificar MUITO o uso do MySQL.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

FaBMak

Teoricamente o comando está certo. Normalmente após mudar uma permissão vc deve rodar o comando flush privileges; para aplicar as permissões.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

groove

Eu executei o flush privileges, porém não adiantou. Estranho que eu tenho acesso ao database, mas não as tabelas usando o usuário 'kauan'.
Uma dúvida: usuários que tem o @localhost ou @192.168... depois do login são diferentes? Ou seja, para cada servidor tenho um grupo de usuários?
Ubuntu 18.04

FaBMak

algumusuario@localhost e algumusuario@ipqualquer são o mesmo usuário, dentro do mesmo servidor MySQL. A diferença é que a parte depois do arroba, determina a partir de qual IP ele pode acessar o servidor.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

groove

Então como me explica eu ter acesso as tabelas quando faço login no mysql usando @localhost e quando faço login usando @ipqualquer não vai ?
Se eu tento alterar as permissões quando logo em @ipqualquer, recebo resposta de que não tenho acesso "/
Ubuntu 18.04

zekkerj

Você já confirmou que o seu servidor MySQL está "escutando" outros endereços além do localhost?

Vc pode confirmar isso com o comando "netstat -atun | grep 3306".
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

FaBMak

Citação de: groove online 07 de Junho de 2011, 22:43
Então como me explica eu ter acesso as tabelas quando faço login no mysql usando @localhost e quando faço login usando @ipqualquer não vai ?
Se eu tento alterar as permissões quando logo em @ipqualquer, recebo resposta de que não tenho acesso "/

Cara, o mesmo usuário pode ter permissões diferentes se vc está em localhost ou externamente. A lógica é vc configurar as permissões para o ip que deseja acessar.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

groove

#13
Consegui resolver, tinha outra permissão conflitando, então exclui o usuário e adicionei novamente. Estava confuso pois não sabia que cada servidor tem seus usuários/senhas. Ficou assim:


mysql> select user, host from mysql.user;
+------------------+-------------------+
| user             | host              |
+------------------+-------------------+
| kauan            | %                 |
| root             | %                 |
| root             | 127.0.0.1         |
| kauan            | 192.168.10.2      |
| root             | kauan-Aspire-1410 |
| debian-sys-maint | localhost         |
| kauan            | localhost         |
| root             | localhost         |
+------------------+-------------------+
8 rows in set (0.00 sec)


Antes

mysql> show grants for 'kauan'@'192.168.10.2';
+--------------------------------------------------------------------------------------------------------------------------+
| Grants for kauan@192.168.10.2                                                                                            |
+--------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'kauan'@'192.168.10.2' IDENTIFIED BY PASSWORD '*4631B7510D9659FAB99BDBF7B94B72DDA7538742' |
| GRANT ALL PRIVILEGES ON `bancoDeDadosI`.`bancoDeDadosI` TO 'kauan'@'192.168.10.2'                                        |
+--------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)


Depois

mysql> show grants for 'kauan'@'192.168.10.2';
+--------------------------------------------------------------------------------------------------------------------------+
| Grants for kauan@192.168.10.2                                                                                            |
+--------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'kauan'@'192.168.10.2' IDENTIFIED BY PASSWORD '*4631B7510D9659FAB99BDBF7B94B72DDA7538742' |
+--------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


Só mais uma coisa, nesse meu arquivo mysql.user, tem um host que não entendi:

+------------------+-------------------+
| user             | host              |
+------------------+-------------------+
| root             | kauan-Aspire-1410
+------------------+-------------------+

Seria o mesmo que localhost? O nome ali é o nome do meu note.
Ubuntu 18.04

FaBMak

Se o MySQL está em uma máquina externa (fora de seu notebook), então esse "root | kauan-Aspire-1410", se refere ao hostname/IP de seu notebook e não localhost. Veja bem, o localhost de qualquer máquina só enxerga ela mesma, ou seja, o localhost do servidor MySQL, não é o mesmo do localhost de seu notebook.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website