Como iniciar o mysql no linux?

Galera, eu faço curso de informática e comecei a aprender banco de dados recentemente, utilizamos o MySQL Workbench, instalei aqui rapidinho no Manjaro. O problema é pra iniciar o serviço, eu crio uma conexão mas a mensagem que aparece quando clico na conexão padrão é a seguinte:
Captura de tela de 2020-02-19 23-05-07.

Não faço ideia de como resolver, no colégio onde estudo usa-se o windows, então é só abrir o Xampp e dar um clique em “iniciar MySQL”. Não sei como inicia-lo no linux, ainda sou meio iniciante. Dei uma olhada na internet e testei alguns comandos do tipo:

[denieltoff@denieltoff-pc ~]$ mysql start
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (111)

_

[denieltoff@denieltoff-pc ~]$ which mysqld
/usr/bin/mysqld
[denieltoff@denieltoff-pc ~]$ cd /usr/sbin/
[denieltoff@denieltoff-pc sbin]$ /usr/sbin/mysqld
2020-02-19 23:08:00 0 [Note] /usr/sbin/mysqld (mysqld 10.4.12-MariaDB) starting as process 17434 ...
2020-02-19 23:08:00 0 [Warning] Can't create test file /var/lib/mysql/denieltoff-pc.lower-test
/usr/sbin/mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 "Permission denied")
2020-02-19 23:08:00 0 [ERROR] Aborting
[denieltoff@denieltoff-pc sbin]$ sudo /usr/sbin/mysqld
[sudo] senha para denieltoff: 
2020-02-19 23:08:13 0 [Note] /usr/sbin/mysqld (mysqld 10.4.12-MariaDB) starting as process 17439 ...
/usr/sbin/mysqld: Please consult the Knowledge Base to find out how to run mysqld as root!
2020-02-19 23:08:13 0 [ERROR] Aborting

_

Não faço ideia de como resolver esse problema, ficaria muito grato se alguém mais entendido pudesse me dar uma ajuda, já tenho o mariadb instalado, tentei pela archwiki comandos similares a estes aí e deu erro também.

Veja o erro no google as vezes ajuda

Tenta aí

http://devfuria.com.br/linux/mysql-error-cant-connect-to-local-mysql-server-through-socket/

Eu pesquisei bastante na internet amigo, normalmente caia sempre em fóruns em inglês, procurei pelo problema no youtube também, mas só ensinavam usando um pacote chamado “mysql-server” que é diferente do “mysql-client” e no Manjaro esses dois pacotes não existem, existe somente “mysql-workbench” por isso fiquei confuso. No entanto agradeço pelo esforço de ter procurado o link e me enviado, não funcionou.

[denieltoff@denieltoff-pc ~]$ mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
mv: falha ao acessar '/var/lib/mysql/mysql.sock.bak': Permissão negada
[denieltoff@denieltoff-pc ~]$ sudo mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
[sudo] senha para denieltoff: 
mv: não foi possível obter estado de '/var/lib/mysql/mysql.sock': Arquivo ou diretório inexistente
[denieltoff@denieltoff-pc ~]$ mkdir /var/lib/mysql/mysql.sock
mkdir: não foi possível criar o diretório “/var/lib/mysql/mysql.sock”: Permissão negada
[denieltoff@denieltoff-pc ~]$ sudo mkdir /var/lib/mysql/mysql.sock
[denieltoff@denieltoff-pc ~]$ sudo mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
[denieltoff@denieltoff-pc ~]$ /etc/init.d/mysqld restart
bash: /etc/init.d/mysqld: Arquivo ou diretório inexistente
[denieltoff@denieltoff-pc ~]$

Tudo que for fora da pasta home/seu usuário vc deve usar o que o para ter permissão root

Se não me engano o mysql start deve ser com sudo

Vc pode tentar

sido mysql start

Sim, também tentei com sudo e com root.

[denieltoff-pc denieltoff]# mysql start
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)
[denieltoff-pc denieltoff]# /etc/init.d/mysqld restart
bash: /etc/init.d/mysqld: Arquivo ou diretório inexistente
[denieltoff-pc denieltoff]# mysqld start
2020-02-19 23:54:51 0 [Note] mysqld (mysqld 10.4.12-MariaDB) starting as process 20174 ...
mysqld: Please consult the Knowledge Base to find out how to run mysqld as root!
2020-02-19 23:54:51 0 [ERROR] Aborting
[denieltoff-pc denieltoff]# mysqld
2020-02-19 23:55:00 0 [Note] mysqld (mysqld 10.4.12-MariaDB) starting as process 20175 ...
mysqld: Please consult the Knowledge Base to find out how to run mysqld as root!
2020-02-19 23:55:00 0 [ERROR] Aborting
[denieltoff-pc denieltoff]#

instala o gnome-keyring e o mysql-workbench

sudo pacman -Syu gnome-keyring mysql-workbench

instala o xampp do site baixando o binário, marcando como executável e executando

wget ‘https://www.apachefriends.org/xampp-files/7.4.2/xampp-linux-x64-7.4.2-0-installer.run
chmod +x xampp-linux-x64-7.4.2-0-installer.run
sudo xampp-linux-x64-7.4.2-0-installer.run

quando terminar a instalação coloca um link simbólico do xampp numa pasta que tá no path, por exemplo o /usr/local/bin

sudo ln -sf /opt/lampp/xampp /usr/local/bin/

e ai quando precisar usar é só digitar

sudo xampp start

no terminal e ser feliz

se quiser parar todos os serviços

sudo xampp stop

se quiser ajuda

xampp


vc pode usar tanto o mysql-workbench quando o phpmyadmin que vem no xampp, phpmyadmin esse que vc acessa digitando localhost/phpmyadmin no campo de url do seu navegador


não precisa se preocupar em instalar via gerenciador de pacotes e ler a wiki do arch pra isso

1 Curtida

É como o @leoteodoro disse, você pode usar a versão para Linux do XAMPP sem problema e assim realizar os seus estudos, mas eu gostaria de repassar mais algumas informações importantes para os seus estudos e quiçá sua vida profissional.

Primeiramente, o XAMPP foi criado para facilitar a criação de um ambiente de DESENVOLVIMENTO e NÃO para a criação de um ambiente de PRODUÇÃO. O pacote de essenciais que é o XAMPP negligência medidas de segurança em favor da praticidade. Você pode ter pensado que desenvolver no Windows é mais fácil por causa do XAMPP, WAMP, dentre outras ferramentas, mas isso é só uma ilusão, porque preparar um ambiente para produção no Linux é bem mais fácil comparado a outros sistemas operacionais. Portanto, use o XAMPP para facilitar a sua vida acadêmica, mas pesquise sobre a criação de ambientes de produção caso você se interesse profissionalmente.

Busque não se limitar a sala de aula, porque eu passei pelo que você passou e acredite, o que os seus professores vão te ensinar só vai servir para te dar uma base, uma bem superficial, porque na prática você vai ter que aprender muito, muito, mas muito mais, uma vez que muito das informações cruciais você vai finalizar o curso sem saber. Você, por exemplo, vai aprender Windows Server, mas caso siga a profissão, você vai ter que lidar com Linux e não com Windows. Outro exemplo é o que envolve o uso do XAMPP, pois se você se limitar apenas a sala de aula, você vai passar o curso todo sem saber a preparar um verdadeiro ambiente de produção.

Ademais, estude inglês! Por mais que isso soe genérico, é como dizem, “no mundo da TI ou você sabe inglês ou você não sabe nada”. Infelizmente, a maioria esmagadora dos guias instrucionais que vão fazer a diferença para você estão em inglês e eu digo isso sem querer ofender os produtores de conteúdo falantes da língua portuguesa. Portanto, para não ficar limitado, busque se familiarizar com o idioma.

2 Curtidas

existe outra maneira de iniciar o mysql-workbench que não seja pelo champ?

sim, é só ter um servidor mysql rodando
pode ser de outras pilhas de pacotes iguais ao xampp, pode ser do mysql que tá no repositório da sua distro, pode ser do site oficial…
só instalar e configurar (se precisar), em todas

Rapaz, essa linguagem ainda é um pouco difícil pra mim pois como não estudei estrutura de dados eu não sei exatamente o que é um “mysql”, apenas sei que o MySQL Workbench é um programa para guardar dados, ainda não me aprofundei nisso. No entanto, depois de muito procurar eu encontrei este tutorial do DominicM, e depois de uns minutinhos e alguns pequenos erros eu consegui iniciar o MySQL Workbench, sem o XAMPP. Ao que parece, por enquanto… as coisas estão funcionando. Fiz uma configuração aqui no MariaDB seguindo o tutorial e a mensagem de erro parou de aparecer, agora vou estudar um pouco haha. No entanto, muitíssimo obrigado pela ajuda meu nobre.

Deixa eu ver se posso esclarecer um pouco:

  1. MySQL é uma implementação de um banco de dados, é como se você tivesse o conceito de o que é um prédio e a planta de um prédio em si, a implementação.
  2. “Um servidor mysql” seria o servidor MySQL rodando em uma máquina especifica, um prédio em algum lugar do mundo construído com base na planta.

Porque MySQL tem um servidor que tenho que configurar e iniciar e tal?

Basicamente para ganhar performance em escrita concorrente em um mesmo banco de dados. Um programa usando SQLite por exemplo, trava o banco de dados para si e portanto 2 programas não podem escrever ao mesmo tempo no mesmo arquivo, para garantir a consistência.
No caso do MySQL , os programas mandam para o servidor os pedidos de escrita, ficam livres para fazer algo e podem ser avisados pelo servidor “cara consegui gravar, pode ficar tranquilo :slight_smile:”, a vantagem é que, o servidor sabendo de todos os acessos, pode saber qual é a forma mais eficiente e segura de resolver leitura e escrita tudo na ordem certa.

1 Curtida