Pular para o conteúdo
Início » Aprendendo Linux Parte 12 – Configuração de Servidores de Banco de Dados no Linux

Aprendendo Linux Parte 12 – Configuração de Servidores de Banco de Dados no Linux

Os bancos de dados são componentes cruciais para muitas aplicações e serviços. Nesta aula, vamos explorar como configurar e gerenciar servidores de banco de dados no Linux, focando em dois dos sistemas de banco de dados mais populares: MySQL/MariaDB e PostgreSQL. Vamos cobrir a instalação, configuração básica, criação de bancos de dados e usuários, e práticas de segurança.

Instalação do MySQL/MariaDB

MySQL e MariaDB são sistemas de gerenciamento de banco de dados relacionais amplamente utilizados. MariaDB é um fork do MySQL, criado pelos desenvolvedores originais do MySQL, e é compatível com ele.

Instalação do MySQL

Para instalar o MySQL em uma distribuição baseada em Debian (como Ubuntu):

$ sudo apt update
$ sudo apt install mysql-server

Para distribuições baseadas em Red Hat (como CentOS):

$ sudo yum install mysql-server
Instalação do MariaDB

Para instalar o MariaDB em uma distribuição baseada em Debian:

$ sudo apt update
$ sudo apt install mariadb-server

Para distribuições baseadas em Red Hat:

$ sudo yum install mariadb-server

Configuração Básica do MySQL/MariaDB

Iniciando e Parando o Serviço

Para iniciar o serviço MySQL/MariaDB:

$ sudo systemctl start mysql  # MySQL
$ sudo systemctl start mariadb  # MariaDB

Para parar o serviço:

$ sudo systemctl stop mysql  # MySQL
$ sudo systemctl stop mariadb  # MariaDB

Para verificar o status do serviço:

$ sudo systemctl status mysql  # MySQL
$ sudo systemctl status mariadb  # MariaDB
Configuração Inicial de Segurança

Após a instalação, execute o script de segurança para configurar a senha root e remover configurações inseguras:

$ sudo mysql_secure_installation
Conectando ao Servidor MySQL/MariaDB

Para conectar ao servidor MySQL/MariaDB como root:

$ sudo mysql -u root -p

Criação de Bancos de Dados e Usuários

Criando um Banco de Dados

Para criar um novo banco de dados, conecte-se ao servidor e use o comando CREATE DATABASE:

CREATE DATABASE meu_banco_de_dados;
Criando um Usuário

Para criar um novo usuário e conceder privilégios ao banco de dados criado:

CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'senha';
GRANT ALL PRIVILEGES ON meu_banco_de_dados.* TO 'usuario'@'localhost';
FLUSH PRIVILEGES;
Removendo um Banco de Dados

Para remover um banco de dados:

DROP DATABASE meu_banco_de_dados;
Removendo um Usuário

Para remover um usuário:

DROP USER 'usuario'@'localhost';

Instalação do PostgreSQL

PostgreSQL é um sistema de gerenciamento de banco de dados relacional avançado, conhecido por sua robustez e conformidade com os padrões SQL.

Instalação do PostgreSQL

Para instalar o PostgreSQL em uma distribuição baseada em Debian:

$ sudo apt update
$ sudo apt install postgresql postgresql-contrib

Para distribuições baseadas em Red Hat:

$ sudo yum install postgresql-server postgresql-contrib
Configuração Inicial do PostgreSQL

Inicialize o banco de dados PostgreSQL (necessário apenas para distribuições baseadas em Red Hat):

$ sudo postgresql-setup initdb
Iniciando e Parando o Serviço

Para iniciar o serviço PostgreSQL:

$ sudo systemctl start postgresql

Para parar o serviço:

$ sudo systemctl stop postgresql

Para verificar o status do serviço:

$ sudo systemctl status postgresql

Criação de Bancos de Dados e Usuários no PostgreSQL

Conectando ao Servidor PostgreSQL

Para conectar ao servidor PostgreSQL como usuário postgres:

$ sudo -i -u postgres
$ psql
Criando um Banco de Dados

Para criar um novo banco de dados:

CREATE DATABASE meu_banco_de_dados;
Criando um Usuário

Para criar um novo usuário e conceder privilégios ao banco de dados criado:

CREATE USER usuario WITH ENCRYPTED PASSWORD 'senha';
GRANT ALL PRIVILEGES ON DATABASE meu_banco_de_dados TO usuario;
Removendo um Banco de Dados

Para remover um banco de dados:

DROP DATABASE meu_banco_de_dados;
Removendo um Usuário

Para remover um usuário:

DROP USER usuario;

Práticas de Segurança

Configuração de Autenticação

No MySQL/MariaDB, edite o arquivo de configuração my.cnf para ajustar as configurações de autenticação.

No PostgreSQL, edite o arquivo pg_hba.conf para configurar métodos de autenticação e permissões.

Backup e Restauração

Para criar backups e restaurar bancos de dados no MySQL/MariaDB:

$ mysqldump -u usuario -p meu_banco_de_dados > backup.sql
$ mysql -u usuario -p meu_banco_de_dados < backup.sql

Para criar backups e restaurar bancos de dados no PostgreSQL:

$ pg_dump meu_banco_de_dados > backup.sql
$ psql meu_banco_de_dados < backup.sql
Monitoramento de Bancos de Dados

Para monitorar o desempenho e o uso do banco de dados, use ferramentas como mysqladmin para MySQL/MariaDB e pg_stat_activity para PostgreSQL.

Exemplos Práticos

Exemplo 1: Configurando um Banco de Dados MySQL/MariaDB
  1. Conecte-se ao servidor MySQL/MariaDB:
$ sudo mysql -u root -p
  1. Crie um banco de dados e um usuário:
CREATE DATABASE blog;
CREATE USER 'bloguser'@'localhost' IDENTIFIED BY 'senha123';
GRANT ALL PRIVILEGES ON blog.* TO 'bloguser'@'localhost';
FLUSH PRIVILEGES;
  1. Saia do MySQL/MariaDB:
EXIT;
Exemplo 2: Configurando um Banco de Dados PostgreSQL
  1. Conecte-se ao servidor PostgreSQL como usuário postgres:
$ sudo -i -u postgres
$ psql
  1. Crie um banco de dados e um usuário:
CREATE DATABASE blog;
CREATE USER bloguser WITH ENCRYPTED PASSWORD 'senha123';
GRANT ALL PRIVILEGES ON DATABASE blog TO bloguser;
  1. Saia do PostgreSQL:
\q
  1. Retorne ao usuário original:
$ exit

A configuração e gerenciamento de servidores de banco de dados no Linux são essenciais para garantir que suas aplicações possam armazenar e acessar dados de forma eficiente e segura. Nesta aula, exploramos como configurar e gerenciar MySQL/MariaDB e PostgreSQL, cobrindo instalação, configuração básica, criação de bancos de dados e usuários, e práticas de segurança.

Pratique essas técnicas para ganhar confiança na administração de servidores de banco de dados no Linux. Se tiver dúvidas ou sugestões, deixe um comentário no blog NerdExpert.com.br. Na próxima aula, exploraremos a configuração de servidores de e-mail no Linux.

Marcações: