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
- Conecte-se ao servidor MySQL/MariaDB:
$ sudo mysql -u root -p
- 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;
- Saia do MySQL/MariaDB:
EXIT;
Exemplo 2: Configurando um Banco de Dados PostgreSQL
- Conecte-se ao servidor PostgreSQL como usuário postgres:
$ sudo -i -u postgres
$ psql
- 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;
- Saia do PostgreSQL:
\q
- 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.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.