10
respostas

Usando o Macbook

Boa noite, peço desculpa pela minha ignorância de iniciante mas notei que na primeira aula desse curso o professor usa o terminal do Mac. Pergunta que faço: como faço para conectar o SQL no terminal do Mac? Pois confesso que tentei mas não não entendi nada. Desde já agradeço se algum poder me ajudar e novamente peço desculpas pela minha ignorância de marinheiro de primeira viagem.

Grato.

10 respostas

Oi Jackson, tudo bom?

Você precisa, basicamente, baixar o arquivo do mysql que você baixa aqui: https://dev.mysql.com/downloads/mysql/ Abrir ele e seguir o instalador.

Qualquer problema é só falar =)

Abraço!

Olá André , segui os passos que me é indicado no link que vc passou a cima. O problema é que ele pede um "root" user o qual não tenho. Olhei um video no YouTube com um tutorial e lá mostra no processo de instalação um código que devo guardar para instalar. O problema é que essa tela com o referido código não aparece na minha tela no momento em que estou fazendo o processo. Poderia me ajudar? Desde já lhe agradeço pela atenção.

Puts, acho que você vai precisar da senha de Root mesmo =/

Eu também uso Mac no dia-a-dia e a senha de root é importantissima pra executar coisas basicas como dev.

Já tentou resetar a senha do adminstrador?

Olha na realidade a senha que vi no tutorial do youtube ela não aparece quando baixo o MySql ai não tenho o que fazer pois ele pede tbm um outro padrão de senha que não faço ideia do que é pois como falei na minha primeira postagem esse esta sendo o meu primeiro contato com SQL então não sei como lidar com essa situação.

A senha de Admin do meu Mac eu tenho, o problema é a senha temporária que o MySql gera que não aparece. Como não tem a opção de lhe enviar um print da minha tela fica um pouco difícil de descrever o real problema. Quando chego na parte da instalação estão os seguintes passos: Introduction, License, Destination Select, Installation Type, Installation e ai vem o problema na hora do passo "Configuration" Onde tem duas opções "Use Strong Password Encryption" e "Use Legacy Password Encryption" onde ambas pendem uma senha a qual eu não tenho e não faço ideia de onde conseguir ela.

Opa, você pode subir os prints aqui e compartilhar o link. Vou tentar simular sua situação na minha máquina =)

Estão a cima os prints André, além disso tbm gostaria de saber como conectar no terminal após resolver esse problema. Como lhe falei anteriormente eu não recebi a senha temporária que vi em um tutorial. Abrigado pela ajuda e peço desculpas pelo incomodo pois como lhe falei anteriormente eu nunca mexi com SQL, estou aprendendo bem do ZERO :)

Oi Jackson,

Não querendo desviar o seu post, mas eu tbm sou usuário do macbook e tbm já sofri demais com esses problemas de infra ....realmente chato isso e a tendencia é piorar pois cada vez vc instala e suja mais o seu sistema :(

No entanto, eu tenho uma sugestão que pode resolver essa a dor de cabeça. Ela se chama DOCKER :)

Com Docker vc pode definir e subir a maioria de ambientes em segundos. Tanto faz qual banco, plataforma ou servidor vc pretende usar, melhor ainda sem sujar o sistema, mas claro, precisa saber um pouco sobre o Docker (que vale muito a pena).

Por exemplo, uma vez o Docker instalado, e para mac existe Docker Desktop CE, basta criar o arquivo de texto abaixo com o nome docker-compose.yml:

version: '3'

services:
  mysql-adminer:
    image: adminer
    restart: always
    container_name: 
    ports:
      - 8081:8080
    depends_on:
      - mysqldb
    links:
      - mysqldb

  mysqldb:
    container_name: mysqldb
    image: mysql:5.7
    restart: always
    ports:
      - '3307:3306'
    volumes:
      - ./mysqldata:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=pass
      - MYSQL_DATABASE=calopsita

Definimos dois processos (ou container), um pra mysql 5.7 e outra para a interface web mysql-adminer.

Uma vez criado, vc deve rodar o script no terminal com o comando:

docker-compose -f docker-compose.yml up

Ao executar pode demorar um pouco pois o docker precisar baixar algumas coisas, mas demorar só a primeira vez.

Quando finalizar, vc tem o mysql na versão 5.7 (login: root, senha: pass) com interface web instalado.

Para ter acesso basta colocar no navegador:

http://localhost:8081/?server=mysqldb&username=root&db=calopsita

No formulário digite a senha pass. Já tem um banco pre-criado com o nome calopsita (pode alterar o nome no script.)

Para parar os processos/containers vc usa o comando:

docker-compose stop

O legal é, uma vez dominado o Docker, isso funciona para Oracle, Postgres, Node.js, Java, etc etc etc. Então, o meu conselho é investir um pouco no Docker para depois ficar feliz pois terá menos problemas com a infra.

Espero ter ajudado de alguma forma.

abs, Nico

Obs: Aquele arquivo docker-compose.yml é um exemplo de Infrastructure as code (IaC) !!

Oi Jackson, tudo bom?

Perdão pela demora, dando uma olhada nos seus Prints parece que seu problema está no tamanho da senha:

https://ibb.co/mrjqZdD

O erro indicado é "This password is not long enough" que significa "Essa senha não é longa o suficiente". A partir da versão 5.7 do mysql a senha pro usuario root é obrigatória e nesse momento você precisaria definir essa senha.

O acesso ao banco de dados sem o root a partir da versão 5.7 exige que você crie seu próprio usuário (esse pode ser sem senha se você quiser) para acessar sem permissão root.

Você está usando a versão mais recente da ferramenta. Nesse caso temos 2 opções. Você pode definir uma senha (qualquer uma que você lembre depois) na tela onde o erro aconteceu ou procurar um instalador antigo do Mysql anterior a versão 5.7

Repare que ele não está te pedindo uma senha previamente definida, ele está te pedindo a senha obrigatória que será utilizada futuramente.

A solução do Nico é ótima também já que com Docker a gente pode controlar essa versão com zero dor de cabeça de ambiente =)

Espero ter ajudado.

Abraço

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software