Neste post vou mostrar alguns exemplos de como gerenciar usuários e permissões de acesso no MySQL Community 8.0. Desde a versão 5.7 ocorreram várias mudanças conforme você pode observar neste link da documentação oficial, caso você venha das versões anteriores, provavelmente vai esbarrar em algum comando que funcionava antes e na versão 8.0 não funciona mais.
Criar usuários
CREATE USER "usuario_teste"@"localhost" IDENTIFIED BY "senha_usuario_teste";
Ao executar este comando você vai receber o seguinte erro:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Por padrão o MySQL Community 8.0 vem com uma politica de senhas intermediária (MEDIUM), antes isso não existia ou estava configurado com uma política mais fraca, você encontra mais detalhes sobre cada política neste link da documentação oficial.
Caso você esteja usando o MySQL Community 8.0 para o desenvolvimento local e queria reduzir a complexidade das senhas, altere o parâmetro global VALIDATE_PASSWORD.POLICY para LOW.
SET GLOBAL validate_password.policy=LOW;
Por enquanto é isso pessoal, provavelmente este post será atualizado conforme eu vou descobrindo as coisas, até mais.
Estou procurando algumas formas de como resolver um problema de upload de arquivos grandes (+1GB) em uma aplicação escrita em Python utilizando o Microframework Flask. Neste post vou explicar como instalar o módulo nginx-upload-module no Nginx para que o upload dos arquivos seja trato pelo Nginx não mais pela aplicação.
ATENÇÃO: Antes de começar, este post é apenas para fins didáticos, não recomendo executar este procedimento em ambiente de produção a não ser que você tenha certeza do que você esta fazendo.
O Nginx quando instalado via gerenciado de pacotes vem com vários módulos, então para ter uma instalação funcional para vários propósitos também vou instalar os mesmos módulos que são instalados via gerenciador de pacotes.
Para este teste estou utilizando o Ubuntu 18.04 Server, acredito que seja possível reproduzir em outras distribuições baseadas no Debian
Para compilação é necessários o código fonte de outras duas bibliotecas, o PCRE que é uma dependência do módulo de reescrita e OpenSSL que é uma dependência do módulo de ssl
PCRE
cd /tmp/
wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz && tar -xf pcre-8.44.tar.gz
OpenSSL
cd /tmp/
wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz && tar -xf openssl-1.1.1h.tar.gz
No momento que escrevo este post, a versão estável do Nginx é a 1.18:
cd /tmp/
wget https://nginx.org/download/nginx-1.18.0.tar.gz && tar -xf nginx-1.18.0.tar.gz
O módulo nginx-upload-module precisa ser abaixado a partir do github do projeto
cd /tmp/
wget https://github.com/vkholodkov/nginx-upload-module/archive/master.zip && zip -d master.zip
Execute o ./configure com os módulos padrões, os caminhos das bibliotecas dependentes e do módulo nginx-upload-module
Os repositórios oficiais do Raspian não tem disponível nenhuma versão do Node.js, mas felizmente temos a disposição o repositório NodeSource com todas as versões do Node.js, neste post vou explicar o procedimento para realizar instalação versão 12 LTS (Long Term Support) do Node.js
O primeiro passo é instalar dependências para que seja possível compilar o Node.js
E aí pessoal, tudo beleza? Neste vou post vou explicar como instalar a versão 7.3 do PHP no Ubuntu 18.04 LTS, atualmente o repositório oficial da Canonical vem com a versão 7.2 que no momento que escrevo este post esta recebendo apenas atualizações de segurança. No exemplo estou consideranto que a versão 7.2 esta instalada utilizando o FPM.