Mysql com C/Lazarus/Python/PHP/R – Parte 1

31 de janeiro de 2022 Off Por Marcelo Martins

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.

Instalação do Mysql

Vídeo de demonstração

Instalação do Mysql

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

Exemplo do script do banco de dados

Por fim mais um vídeozinho

Procedimento de instalação dos scripts

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://stackoverflow.com/questions/11739014/how-to-generate-a-create-table-script-for-an-existing-table-in-phpmyadmin

https://stackoverflow.com/questions/6239131/how-to-grant-remote-access-permissions-to-mysql-server-for-user

https://linuxize.com/post/how-to-create-mysql-user-accounts-and-grant-privileges/

Artigos Relacionados