@hotwyl/init-docker-minimal-dev 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,532 @@
1
+ # 🐳 MinimalDev - Ambiente de Desenvolvimento Docker
2
+
3
+ Um ambiente de desenvolvimento completo e moderno com **PHP**, **MySQL**, **Node.js**, **Apache** e **phpMyAdmin**, configurado para facilitar o desenvolvimento web.
4
+
5
+ ![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white)
6
+ ![PHP](https://img.shields.io/badge/PHP-777BB4?style=for-the-badge&logo=php&logoColor=white)
7
+ ![MySQL](https://img.shields.io/badge/MySQL-4479A1?style=for-the-badge&logo=mysql&logoColor=white)
8
+ ![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white)
9
+ ![Apache](https://img.shields.io/badge/Apache-D22128?style=for-the-badge&logo=apache&logoColor=white)
10
+
11
+ ---
12
+
13
+ ## 📋 Índice
14
+
15
+ - [Requisitos](#-requisitos)
16
+ - [Instalação Rápida](#-instalação-rápida)
17
+ - [Estrutura do Projeto](#-estrutura-do-projeto)
18
+ - [Serviços Disponíveis](#-serviços-disponíveis)
19
+ - [Comandos Úteis](#-comandos-úteis)
20
+ - [Configuração do Banco de Dados](#-configuração-do-banco-de-dados)
21
+ - [Trabalhando com PHP e Composer](#-trabalhando-com-php-e-composer)
22
+ - [Trabalhando com Node.js e npm](#-trabalhando-com-nodejs-e-npm)
23
+ - [Criando Novos Projetos](#-criando-novos-projetos)
24
+ - [Debugging com Xdebug](#-debugging-com-xdebug)
25
+ - [Dicas e Boas Práticas](#-dicas-e-boas-práticas)
26
+ - [Solução de Problemas](#-solução-de-problemas)
27
+
28
+ ---
29
+
30
+ ## 🔧 Requisitos
31
+
32
+ Antes de começar, você precisa ter instalado em sua máquina:
33
+
34
+ ### Windows
35
+
36
+ 1. **Docker Desktop** - [Download](https://www.docker.com/products/docker-desktop/)
37
+ 2. **Git** (opcional) - [Download](https://git-scm.com/downloads)
38
+ 3. **VS Code** (recomendado) - [Download](https://code.visualstudio.com/)
39
+
40
+ ### Instalando Docker Desktop no Windows
41
+
42
+ 1. Baixe o Docker Desktop do site oficial
43
+ 2. Execute o instalador
44
+ 3. **Importante**: Habilite o WSL 2 quando solicitado
45
+ 4. Reinicie o computador
46
+ 5. Abra o Docker Desktop e aguarde iniciar
47
+
48
+ Para verificar se está funcionando, abra o terminal (PowerShell ou CMD) e digite:
49
+
50
+ ```bash
51
+ docker --version
52
+ docker-compose --version
53
+ ```
54
+
55
+ ---
56
+
57
+ ## 🚀 Instalação Rápida
58
+
59
+ ### Passo 1: Navegue até a pasta do projeto
60
+
61
+ ```powershell
62
+ cd D:\laragon\www\3wonline\wiki\ambientes\minimaldev
63
+ ```
64
+
65
+ ### Passo 2: Iniciar os containers
66
+
67
+ ```bash
68
+ # Construir e iniciar todos os serviços
69
+ docker-compose up -d --build
70
+ ```
71
+
72
+ > ⏳ **Primeira execução**: A primeira vez pode demorar alguns minutos, pois o Docker precisa baixar todas as imagens e construir o ambiente.
73
+
74
+ ### Passo 3: Acessar o ambiente
75
+
76
+ - **Website**: http://localhost
77
+ - **phpMyAdmin**: http://localhost:8080
78
+
79
+ 🎉 **Pronto!** Seu ambiente está funcionando!
80
+
81
+ ---
82
+
83
+ ## 📁 Estrutura do Projeto
84
+
85
+ ```
86
+ minimaldev/
87
+ ├── 📄 docker-compose.yml # Configuração dos containers
88
+ ├── 📄 Dockerfile # Imagem personalizada PHP/Apache
89
+ ├── 📄 .env # Variáveis de ambiente
90
+ ├── 📄 README.md # Este arquivo
91
+
92
+ ├── 📁 config/ # Configurações dos serviços
93
+ │ ├── 📁 php/
94
+ │ │ └── php.ini # Configurações do PHP
95
+ │ ├── 📁 apache/
96
+ │ │ └── 000-default.conf # Virtual host do Apache
97
+ │ └── 📁 mysql/
98
+ │ ├── my.cnf # Configurações do MySQL
99
+ │ └── 📁 init/
100
+ │ └── 01-init.sql # Script de inicialização do banco
101
+
102
+ ├── 📁 www/ # 🎯 SEUS PROJETOS AQUI!
103
+ │ ├── index.php # Página inicial do ambiente
104
+ │ ├── phpinfo.php # Informações do PHP
105
+ │ ├── .htaccess # Configurações do Apache
106
+ │ └── 📁 errors/ # Páginas de erro personalizadas
107
+
108
+ └── 📁 logs/ # Logs dos serviços
109
+ └── 📁 apache/ # Logs do Apache
110
+ ```
111
+
112
+ ---
113
+
114
+ ## 🌐 Serviços Disponíveis
115
+
116
+ | Serviço | Container | Porta | URL de Acesso |
117
+ | ---------------- | --------------------- | ------- | --------------------- |
118
+ | **Apache + PHP** | minimaldev-web | 80, 443 | http://localhost |
119
+ | **MySQL** | minimaldev-mysql | 3306 | localhost:3306 |
120
+ | **phpMyAdmin** | minimaldev-phpmyadmin | 8080 | http://localhost:8080 |
121
+ | **Node.js** | minimaldev-node | - | Via terminal |
122
+
123
+ ### Versões Instaladas
124
+
125
+ - **PHP**: 8.3 (última versão estável)
126
+ - **Node.js**: LTS (última versão)
127
+ - **MySQL**: 8.x (última versão)
128
+ - **Apache**: 2.4
129
+ - **Composer**: Última versão
130
+
131
+ ### Extensões PHP Instaladas
132
+
133
+ - PDO, PDO_MySQL, MySQLi
134
+ - GD (com suporte a JPEG, PNG, WebP)
135
+ - Mbstring, iconv
136
+ - Zip, Zlib
137
+ - Intl, BCMath
138
+ - OPcache, Redis
139
+ - Xdebug (para debugging)
140
+ - SOAP, XML
141
+ - E muitas outras...
142
+
143
+ ---
144
+
145
+ ## 💻 Comandos Úteis
146
+
147
+ ### Gerenciamento dos Containers
148
+
149
+ ```bash
150
+ # Iniciar todos os containers
151
+ docker-compose up -d
152
+
153
+ # Iniciar e reconstruir (após mudanças no Dockerfile)
154
+ docker-compose up -d --build
155
+
156
+ # Parar todos os containers
157
+ docker-compose down
158
+
159
+ # Parar e remover volumes (⚠️ APAGA DADOS DO BANCO!)
160
+ docker-compose down -v
161
+
162
+ # Ver status dos containers
163
+ docker-compose ps
164
+
165
+ # Ver logs em tempo real
166
+ docker-compose logs -f
167
+
168
+ # Ver logs de um serviço específico
169
+ docker-compose logs -f web
170
+ docker-compose logs -f mysql
171
+ ```
172
+
173
+ ### Acessando os Containers
174
+
175
+ ```bash
176
+ # Acessar terminal do container PHP/Apache
177
+ docker exec -it minimaldev-web bash
178
+
179
+ # Acessar terminal do container Node.js
180
+ docker exec -it minimaldev-node bash
181
+
182
+ # Acessar terminal do MySQL
183
+ docker exec -it minimaldev-mysql mysql -u root -p
184
+ ```
185
+
186
+ ### Reiniciar Serviços
187
+
188
+ ```bash
189
+ # Reiniciar Apache (após mudanças de configuração)
190
+ docker exec minimaldev-web service apache2 reload
191
+
192
+ # Reiniciar todos os containers
193
+ docker-compose restart
194
+ ```
195
+
196
+ ---
197
+
198
+ ## 🗄️ Configuração do Banco de Dados
199
+
200
+ ### Credenciais Padrão
201
+
202
+ | Campo | Valor |
203
+ | ---------------- | -------------------------------------------------------- |
204
+ | **Host** | `mysql` (dentro dos containers) ou `localhost` (externo) |
205
+ | **Porta** | `3306` |
206
+ | **Usuário Root** | `root` |
207
+ | **Senha Root** | `root` |
208
+ | **Usuário Dev** | `developer` |
209
+ | **Senha Dev** | `developer123` |
210
+ | **Database** | `minimaldev` |
211
+
212
+ ### Conectando via PHP
213
+
214
+ ```php
215
+ <?php
216
+ // Conexão PDO (recomendado)
217
+ $pdo = new PDO(
218
+ 'mysql:host=mysql;dbname=minimaldev;charset=utf8mb4',
219
+ 'developer',
220
+ 'developer123',
221
+ [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
222
+ );
223
+
224
+ // Conexão MySQLi
225
+ $mysqli = new mysqli('mysql', 'developer', 'developer123', 'minimaldev');
226
+ ```
227
+
228
+ ### Conectando via Software Externo (DBeaver, HeidiSQL, etc.)
229
+
230
+ - **Host**: `127.0.0.1` ou `localhost`
231
+ - **Porta**: `3306`
232
+ - **Usuário**: `root` ou `developer`
233
+ - **Senha**: Conforme tabela acima
234
+
235
+ ### Criar Novo Banco de Dados
236
+
237
+ 1. Acesse o phpMyAdmin: http://localhost:8080
238
+ 2. Clique em "Novo" no menu lateral
239
+ 3. Digite o nome do banco e clique em "Criar"
240
+
241
+ Ou via terminal:
242
+
243
+ ```bash
244
+ docker exec -it minimaldev-mysql mysql -u root -p -e "CREATE DATABASE meu_banco CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
245
+ ```
246
+
247
+ ---
248
+
249
+ ## 🐘 Trabalhando com PHP e Composer
250
+
251
+ ### Executar Composer
252
+
253
+ ```bash
254
+ # Instalar dependências (composer install)
255
+ docker exec -it minimaldev-web composer install
256
+
257
+ # Adicionar pacote
258
+ docker exec -it minimaldev-web composer require nome/pacote
259
+
260
+ # Atualizar dependências
261
+ docker exec -it minimaldev-web composer update
262
+
263
+ # Criar novo projeto Laravel
264
+ docker exec -it minimaldev-web composer create-project laravel/laravel meu-projeto
265
+ ```
266
+
267
+ ### Executar Scripts PHP
268
+
269
+ ```bash
270
+ # Executar um arquivo PHP
271
+ docker exec -it minimaldev-web php /var/www/html/meu-script.php
272
+
273
+ # PHP interativo
274
+ docker exec -it minimaldev-web php -a
275
+ ```
276
+
277
+ ---
278
+
279
+ ## 📦 Trabalhando com Node.js e npm
280
+
281
+ O Node.js está disponível em um container separado, compartilhando a pasta `www/`.
282
+
283
+ ### Comandos npm
284
+
285
+ ```bash
286
+ # Ver versão do Node.js
287
+ docker exec -it minimaldev-node node -v
288
+
289
+ # Ver versão do npm
290
+ docker exec -it minimaldev-node npm -v
291
+
292
+ # Instalar dependências
293
+ docker exec -it minimaldev-node npm install
294
+
295
+ # Adicionar pacote
296
+ docker exec -it minimaldev-node npm install nome-pacote
297
+
298
+ # Executar scripts
299
+ docker exec -it minimaldev-node npm run build
300
+ docker exec -it minimaldev-node npm run dev
301
+ ```
302
+
303
+ ### Trabalhando em um Projeto Específico
304
+
305
+ ```bash
306
+ # Navegar para pasta do projeto e executar comandos
307
+ docker exec -it minimaldev-node bash -c "cd /var/www/html/meu-projeto && npm install"
308
+ docker exec -it minimaldev-node bash -c "cd /var/www/html/meu-projeto && npm run dev"
309
+ ```
310
+
311
+ ### Criar Projetos Frontend
312
+
313
+ ```bash
314
+ # Criar projeto React
315
+ docker exec -it minimaldev-node npx create-react-app meu-app
316
+
317
+ # Criar projeto Vue.js
318
+ docker exec -it minimaldev-node npm create vue@latest meu-app
319
+
320
+ # Criar projeto Vite
321
+ docker exec -it minimaldev-node npm create vite@latest meu-app
322
+ ```
323
+
324
+ ---
325
+
326
+ ## 🆕 Criando Novos Projetos
327
+
328
+ ### Projeto PHP Simples
329
+
330
+ 1. Crie uma pasta dentro de `www/`:
331
+
332
+ ```
333
+ www/meu-projeto/
334
+ ```
335
+
336
+ 2. Adicione um `index.php`:
337
+
338
+ ```php
339
+ <?php
340
+ echo "Olá, Mundo!";
341
+ ```
342
+
343
+ 3. Acesse: http://localhost/meu-projeto/
344
+
345
+ ### Projeto Laravel
346
+
347
+ ```bash
348
+ # Criar projeto Laravel
349
+ docker exec -it minimaldev-web composer create-project laravel/laravel www/meu-laravel
350
+
351
+ # Acessar: http://localhost/meu-laravel/public/
352
+ ```
353
+
354
+ ### Projeto WordPress
355
+
356
+ 1. Baixe o WordPress em https://wordpress.org/download/
357
+ 2. Extraia para `www/wordpress/`
358
+ 3. Crie um banco de dados no phpMyAdmin
359
+ 4. Acesse http://localhost/wordpress/ e siga a instalação
360
+
361
+ ---
362
+
363
+ ## 🐛 Debugging com Xdebug
364
+
365
+ O Xdebug já vem configurado e pronto para uso com VS Code.
366
+
367
+ ### Configuração VS Code
368
+
369
+ 1. Instale a extensão **PHP Debug** (felixfbecker.php-debug)
370
+
371
+ 2. Crie o arquivo `.vscode/launch.json` no seu projeto:
372
+
373
+ ```json
374
+ {
375
+ "version": "0.2.0",
376
+ "configurations": [
377
+ {
378
+ "name": "Listen for Xdebug",
379
+ "type": "php",
380
+ "request": "launch",
381
+ "port": 9003,
382
+ "pathMappings": {
383
+ "/var/www/html": "${workspaceFolder}/www"
384
+ }
385
+ }
386
+ ]
387
+ }
388
+ ```
389
+
390
+ 3. Pressione F5 para iniciar o debugger
391
+ 4. Adicione breakpoints no código
392
+ 5. Acesse a página no navegador
393
+
394
+ ---
395
+
396
+ ## 💡 Dicas e Boas Práticas
397
+
398
+ ### 1. Mantenha os Dados Seguros
399
+
400
+ - Nunca commite senhas reais no `.env`
401
+ - Use o `.gitignore` para ignorar arquivos sensíveis
402
+
403
+ ### 2. Backup do Banco de Dados
404
+
405
+ ```bash
406
+ # Exportar banco
407
+ docker exec minimaldev-mysql mysqldump -u root -proot minimaldev > backup.sql
408
+
409
+ # Importar banco
410
+ docker exec -i minimaldev-mysql mysql -u root -proot minimaldev < backup.sql
411
+ ```
412
+
413
+ ### 3. Limpar Espaço do Docker
414
+
415
+ ```bash
416
+ # Remover containers parados
417
+ docker container prune
418
+
419
+ # Remover imagens não utilizadas
420
+ docker image prune
421
+
422
+ # Limpeza completa (cuidado!)
423
+ docker system prune -a
424
+ ```
425
+
426
+ ### 4. Alterar Configurações
427
+
428
+ - Após modificar `php.ini`, `my.cnf` ou `000-default.conf`, reinicie os containers:
429
+
430
+ ```bash
431
+ docker-compose restart
432
+ ```
433
+
434
+ ### 5. Logs para Debug
435
+
436
+ - Logs do PHP: `logs/apache/php_errors.log`
437
+ - Logs do Apache: `logs/apache/error.log`
438
+ - Logs do MySQL: `docker-compose logs mysql`
439
+
440
+ ---
441
+
442
+ ## 🔧 Solução de Problemas
443
+
444
+ ### ❌ Porta 80 já está em uso
445
+
446
+ **Problema**: Outro serviço (Laragon, XAMPP, IIS, Skype) está usando a porta 80.
447
+
448
+ **Solução**:
449
+
450
+ 1. Pare o outro serviço, OU
451
+ 2. Mude a porta no `docker-compose.yml`:
452
+
453
+ ```yaml
454
+ ports:
455
+ - "8000:80" # Acesse via http://localhost:8000
456
+ ```
457
+
458
+ ### ❌ Container não inicia
459
+
460
+ ```bash
461
+ # Ver logs de erro
462
+ docker-compose logs web
463
+
464
+ # Reconstruir a imagem
465
+ docker-compose up -d --build --force-recreate
466
+ ```
467
+
468
+ ### ❌ Erro de permissão em arquivos
469
+
470
+ ```bash
471
+ # Dentro do container, ajustar permissões
472
+ docker exec -it minimaldev-web chown -R www-data:www-data /var/www/html
473
+ docker exec -it minimaldev-web chmod -R 755 /var/www/html
474
+ ```
475
+
476
+ ### ❌ MySQL não conecta
477
+
478
+ 1. Verifique se o container está rodando:
479
+
480
+ ```bash
481
+ docker-compose ps
482
+ ```
483
+
484
+ 2. Aguarde alguns segundos após iniciar (MySQL demora para inicializar)
485
+
486
+ 3. Verifique os logs:
487
+
488
+ ```bash
489
+ docker-compose logs mysql
490
+ ```
491
+
492
+ ### ❌ Extensão PHP não encontrada
493
+
494
+ Adicione a extensão no `Dockerfile` e reconstrua:
495
+
496
+ ```bash
497
+ docker-compose up -d --build
498
+ ```
499
+
500
+ ### ❌ Composer muito lento
501
+
502
+ O Composer pode ser lento na primeira execução. Use:
503
+
504
+ ```bash
505
+ docker exec -it minimaldev-web composer config -g repo.packagist composer https://packagist.org
506
+ ```
507
+
508
+ ---
509
+
510
+ ## 📚 Recursos Adicionais
511
+
512
+ - [Documentação Docker](https://docs.docker.com/)
513
+ - [Documentação PHP](https://www.php.net/docs.php)
514
+ - [Documentação MySQL](https://dev.mysql.com/doc/)
515
+ - [Documentação Node.js](https://nodejs.org/docs/)
516
+ - [Documentação Composer](https://getcomposer.org/doc/)
517
+
518
+ ---
519
+
520
+ ## 🤝 Contribuição
521
+
522
+ Sinta-se à vontade para melhorar este ambiente! Sugestões e pull requests são bem-vindos.
523
+
524
+ ---
525
+
526
+ ## 📄 Licença
527
+
528
+ Este projeto é livre para uso e modificação.
529
+
530
+ ---
531
+
532
+ **Desenvolvido com ❤️ para facilitar a vida de desenvolvedores**
@@ -0,0 +1 @@
1
+ # Placeholder para manter a pasta no Git
@@ -0,0 +1,39 @@
1
+ <VirtualHost *:80>
2
+ ServerAdmin webmaster@localhost
3
+ DocumentRoot /var/www/html
4
+
5
+ <Directory /var/www/html>
6
+ Options Indexes FollowSymLinks MultiViews
7
+ AllowOverride All
8
+ Require all granted
9
+ DirectoryIndex index.php index.html index.htm
10
+ </Directory>
11
+
12
+ # Configuração de logs
13
+ ErrorLog ${APACHE_LOG_DIR}/error.log
14
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
15
+
16
+ # Compressão GZIP
17
+ <IfModule mod_deflate.c>
18
+ AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
19
+ </IfModule>
20
+
21
+ # Cache de arquivos estáticos
22
+ <IfModule mod_expires.c>
23
+ ExpiresActive On
24
+ ExpiresByType image/jpg "access plus 1 month"
25
+ ExpiresByType image/jpeg "access plus 1 month"
26
+ ExpiresByType image/gif "access plus 1 month"
27
+ ExpiresByType image/png "access plus 1 month"
28
+ ExpiresByType image/webp "access plus 1 month"
29
+ ExpiresByType text/css "access plus 1 week"
30
+ ExpiresByType application/javascript "access plus 1 week"
31
+ </IfModule>
32
+
33
+ # Segurança básica
34
+ <IfModule mod_headers.c>
35
+ Header always set X-Content-Type-Options nosniff
36
+ Header always set X-Frame-Options SAMEORIGIN
37
+ Header always set X-XSS-Protection "1; mode=block"
38
+ </IfModule>
39
+ </VirtualHost>
@@ -0,0 +1,42 @@
1
+ -- ============================================
2
+ -- MinimalDev - Script de Inicialização
3
+ -- Este script é executado automaticamente
4
+ -- quando o container MySQL é criado
5
+ -- ============================================
6
+
7
+ -- Criar banco de dados principal
8
+ CREATE DATABASE IF NOT EXISTS `minimaldev`
9
+ CHARACTER SET utf8mb4
10
+ COLLATE utf8mb4_unicode_ci;
11
+
12
+ -- Usar o banco de dados
13
+ USE `minimaldev`;
14
+
15
+ -- ============================================
16
+ -- Tabela de exemplo para testes
17
+ -- ============================================
18
+ CREATE TABLE IF NOT EXISTS `users` (
19
+ `id` INT AUTO_INCREMENT PRIMARY KEY,
20
+ `name` VARCHAR(100) NOT NULL,
21
+ `email` VARCHAR(150) NOT NULL UNIQUE,
22
+ `password` VARCHAR(255) NOT NULL,
23
+ `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
24
+ `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
25
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
26
+
27
+ -- ============================================
28
+ -- Inserir usuários de teste
29
+ -- Senha padrão: password (hash bcrypt)
30
+ -- ============================================
31
+ INSERT INTO `users` (`name`, `email`, `password`) VALUES
32
+ ('Admin', 'admin@localhost.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'),
33
+ ('Developer', 'dev@localhost.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi');
34
+
35
+ -- ============================================
36
+ -- Garantir privilégios ao usuário developer
37
+ -- ============================================
38
+ GRANT ALL PRIVILEGES ON `minimaldev`.* TO 'developer'@'%';
39
+ FLUSH PRIVILEGES;
40
+
41
+ -- Confirmação
42
+ SELECT 'Banco de dados inicializado com sucesso!' AS status;
@@ -0,0 +1,33 @@
1
+ [mysqld]
2
+ # ============================================
3
+ # Configurações Gerais
4
+ # ============================================
5
+ character-set-server = utf8mb4
6
+ collation-server = utf8mb4_unicode_ci
7
+ default-time-zone = '-03:00'
8
+
9
+ # ============================================
10
+ # Performance
11
+ # ============================================
12
+ innodb_buffer_pool_size = 256M
13
+ innodb_log_file_size = 64M
14
+ max_connections = 150
15
+ key_buffer_size = 32M
16
+
17
+ # ============================================
18
+ # Log de Queries Lentas
19
+ # ============================================
20
+ slow_query_log = 1
21
+ slow_query_log_file = /var/log/mysql/slow.log
22
+ long_query_time = 2
23
+
24
+ # ============================================
25
+ # Segurança
26
+ # ============================================
27
+ sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
28
+
29
+ [mysql]
30
+ default-character-set = utf8mb4
31
+
32
+ [client]
33
+ default-character-set = utf8mb4