Mysql com C/Lazarus/Python/PHP/R – Parte 1
Neste super tutorial, iremos abordar a Conexão do Mysql com estas 5 linguagens.
Na primeira parte do tutorial, iremos abordado o Mysql própriamente dita, onde faço a instalação e configuração.
Nos próximos posts abordarei cada linguagem individualmente.
Mysql
Mysql é um banco fornecido pela Oracle, muito utilizado em aplicações embarcadas e web.
De forma geral é um banco sólido, com uma ampla gama de aplicações, e seguro.
Instalação no Linux / Ubuntu
A instalação do servidor mysql é muito simples.
apt install mysql-server
Instalação do mysql server em Linux
A instalação do Mysql é muito simples, e instala os principais componentes.
Vídeo de demonstração
Criando um banco de dados
Agora, iremos criar um projeto de banco de dados bem simples.
A idéia é basicamente permitir CRUD nos demais artigos. Para quem não conhece o CRUD, é a abreviação (Create, Read, Update, Delete).
Para nos ajudar, irei criar um git, do projeto.
Ambiente de desenvolvimento
A instalação do ambiente de desenvolvimento precisa ser feito através da lib:
apt-get install libmysqlclient-dev
A lib acima, instala os headers e .so para integração com C e outras linguagens, como Lazarus.
A medida que avancemos nos demais artigos, irei incluindo aqui, as bibliotecas para as demais linguagens tambem. Então fique atento.
GIT
https://github.com/marcelomaurin/mysql-vs-todos
SCRIPTS
Agora iremos criar o Nosso Makefile para carregar os scripts:
Arquivo Makefile
# Script de criacao do banco de dados
# Autor Marcelo Maurin Martins
# Daa: 31/01/2022
#
APP=mysql
all: database Tabelas
database:
$(APP) < database.sql
Tabelas:
$(APP) < pessoas.sql
Em seguida iremos criar o script de criação da base de dados, database.sql:
#Cria um banco de dados em Mysql
#Autor: Marcelo Maurin Martins
#31/01/2022
create database IF NOT EXISTS `testedb`;
E por fim nossa tabela pessoas.sql
#Cria a tabela de pessoas
#Autor: Marcelo Maurin Martins
#31/01/2022
use testedb;
create table if not exists pessoas
(
idPessoa INT(6) unsigned auto_increment primary key,
nome varchar(30) not null,
dtnasc date,
profissao varchar(20),
sexo char(1),
dtchg timestamp default current_timestamp on update current_timestamp,
dtcad timestamp default current_timestamp
);
Executando Scripts
Entre na pasta scripts, para que possamos criar nossas estruturas de banco.
Digite o comando:
make
executa a criação do banco
A figura abaixo mostra sua execução
Por fim mais um vídeozinho
Permissões
Ao montar o segundo artigo lembrei que para melhorar este artigo, o ideal seria criar uma conta especifica para cada aplicação. Desta forma criei um scripts novo chamado GRANTS.SQL
Desta forma, existe essa ultima etapa. Que precisamos, que será criar um usuário para acesso a aplicação:
Criando o usuario:
CREATE USER 'seu_usuario'@'localhost' IDENTIFIED BY 'suasenha';
Dando permissão:
GRANT ALL PRIVILEGES ON * . * TO 'seu_usuario'@'localhost';
Finalizando
FLUSH PRIVILEGES;
Este procedimento será validado, quando digitarmos
mysql -h localhost -u gcc -p
Conectando em banco de dados
Pois se as permissões não estiverem corretas o usuario não conecta.
Sempre que avançarmos em uma etapa, um novo usuário será criado, neste script.
Então não estranhem se eventualmente os scripts sofrerem modificação no git.
Cenas do próximos capítulos
Agora que preparamos a cama, iremos começar a codificar nela. No próximo artigo iremos criar um crud em C para cadastrar pessoas.
Até a próxima.
Referências
https://stackoverflow.com/questions/838978/how-to-check-if-mysql-database-exists
https://linuxize.com/post/how-to-create-mysql-user-accounts-and-grant-privileges/