Link Search Menu Expand Document

MySQL Database Server Para Estudos

O aritgo está em desenvolvimento

O objetivo do criação do artigo é ajudar desenvolvedores que precisam de um servidor MySQL para estudos.

No caso do exemplo estamos com um servidor CentOS8, e todas as operações de uso serão feitas remotamente pelo desenvolvedor.

Não realize tais configurações em um banco de dados de produção

Parte do artigo pode ser feita em produção, mas tal configuração está longe de ter boas práticas em um servidor de banco de dados. Novamente, o uso é somente para estudos.

Instale MySQL 8

dnf module -y install mysql:8.0

Permitindo a conexão remota

Editar o arquivo /etc/my.cnf.d/mysql-server.cnf permitir a conexão remota:

vim /etc/my.cnf.d/mysql-server.cnf

# Adicionar a linha abaixo, que deve conter o IP do servidor de banco de dados que receberá a conexão.
bind-address=192.168.0.201

Configurando os serviços

systemctl restart mysqld.service

systemctl enable mysqld.service

systemctl start mysqld.service 

Configurando o firewall

Tanto faz configurar pela porta ou pelo nome do serviço, mas em alguns casos pode ser melhor pelo nome do serviço.

firewall-cmd --add-port=3306/tcp --permanent

firewall-cmd --add-service=mysql --permanent 

firewall-cmd --reload

Checando se de fato a porta está aberta

netstat -natp | grep 3306

Criando os usuários

A criação dos usuário da forma que está sendo feita vai permitir a conexão do usuário criado a partir de qualque computador com rota para tal servidor de banco de dados.

mysql -u root -p
CREATE USER 'carlaalves'@'%' IDENTIFIED BY '1234@Carla';
CREATE USER 'alan'@'%' IDENTIFIED BY '1234@Alan';

Concedendo permissões totais no MySQL

Agora vamos conceder totais privilégios em qualquer banco de dados e de qualquer computador com rota para tal servidor.

GRANT ALL PRIVILEGES ON *.* TO 'alan'@'%';

GRANT ALL PRIVILEGES ON *.* TO 'carlaalves'@'%';

Recarregar os PRIVILEGES

Recarregar os PRIVILEGES é um passo importante para carregar a nova configuração.

FLUSH PRIVILEGES;

Consulte as permissões

Aqui vamos checar quais permissão temos no servidor.

SHOW GRANTS FOR 'carlaalves'@'%';

SHOW GRANTS FOR 'alan'@'%';

Testar a conexão

Hora de testar a conexão, e ver se os usuários criados tem permissão de fato no banco de dados.

O teste abaixo vai testar com conexão com o banco de dados através do IP de exemplo 192.168.0.201 pela usuária carlaalves.

mysql -u carlaalves -h 192.168.0.201 -p

create database test_databases;

Caso tenha algum erro, favor rever os passos informados.

Basicamente montei tal ambiente de estudos para minha esposa Carla, de forma a facilitar a conexão pelo MySQL Workbench. Como o objetivo dela é desenvolver aplicação que vão se conectar no banco de dados e fazer CRUD para inserir, atualizar e deletar informações, ela não precisa perder tem a infraestrutura.

Outro ponto importante é que o SELinux está desabilidado.

O ambiente também poderia ser feito via Docker, mas estamos com um servidor em uma máquina virtual.

Espero que ajude outros estudantes.

Att, Alan Alves.

MySQL Workbench MySQL Server