Commit 32885945919ad4325ebad7cb6c3f12360b3f437b

Authored by Guilherme Andrade Del Cantoni
1 parent 11266655

Atualização do MySQL para a versão 5.7

mysql/Dockerfile
... ... @@ -14,60 +14,14 @@ MAINTAINER PEN - Processo Eletrônico Nacional
14 14 ################## INICIO DA INSTALACAO ######################
15 15 # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI
16 16  
17   -# Instalar o yum repo rpm package
18   -RUN yum install -y wget && \
19   - wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm && \
20   - rpm -ivh mysql-community-release-el6-5.noarch.rpm
21   -
22   -# Instalação do MySQL Server 5.X
23   -RUN yum update -y && \
24   - yum install -y mysql-server && \
25   - yum -y clean all
26   -
27 17 # Cópia dos backups dos bancos de dados do SEI e SIP
28   -ADD sei-db-ref-executivo/mysql/sei_2_6_0_BD_Ref_Exec.sql /tmp/sei_mysql.sql
29   -ADD sei-db-ref-executivo/mysql/sip_2_6_0_BD_Ref_Exec.sql /tmp/sip_mysql.sql
  18 +ADD sei-db-ref-executivo/mysql/sei_2_6_0_BD_Ref_Exec.sql /opt/sei_mysql.sql
  19 +ADD sei-db-ref-executivo/mysql/sip_2_6_0_BD_Ref_Exec.sql /opt/sip_mysql.sql
30 20 ADD my.cnf /etc/my.cnf
  21 +ADD install.sh /install.sh
31 22  
32   -# Configuração da estrutura inicial do banco de dados
33   -RUN mysql_install_db
34   -
35   -# Criação dos bancos de dados do sistema
36   -RUN /etc/init.d/mysqld start && \
37   - mysqladmin create sip && \
38   - mysqladmin create sei
39   -
40   -# Criação dos usuários utilizados na conexão com SEI e SIP
41   -RUN /etc/init.d/mysqld start && \
42   - mysql -e "CREATE USER 'sip_user'@'%' IDENTIFIED BY 'sip_user'" sip && \
43   - mysql -e "CREATE USER 'sei_user'@'%' IDENTIFIED BY 'sei_user'" sei && \
44   - mysql -e "GRANT ALL PRIVILEGES ON sip.* TO 'sip_user'@'%'" sip && \
45   - mysql -e "GRANT ALL PRIVILEGES ON sei.* TO 'sei_user'@'%'" sei
46   -
47   -# Restauração dos bancos de dados
48   -RUN /etc/init.d/mysqld start && cd /tmp && \
49   - mysql sei < sei_mysql.sql && \
50   - mysql sip < sip_mysql.sql && \
51   - rm -f /tmp/sei_mysql.sql /tmp/sip_mysql.sql
52   -
53   -# Atualização dos parâmetros do SEI e do SIP
54   -RUN /etc/init.d/mysqld start && \
55   - mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sip && \
56   - mysql -e "update sistema set pagina_inicial='http://localhost/sip' where sigla='SIP';" sip && \
57   - mysql -e "update sistema set pagina_inicial='http://localhost/sei/inicializar.php', web_service='http://localhost/sei/controlador_ws.php?servico=sip' where sigla='SEI';" sip && \
58   - mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sei
59   -
60   -# Temp: Remove registros de auditoria presentes na base de referência
61   -RUN /etc/init.d/mysqld start && \
62   - mysql -e "delete from auditoria_protocolo;" sei
63   -
64   -# Configuração para utilizar autenticação nativa do SEI/SIP
65   -RUN /etc/init.d/mysqld start && \
66   - mysql -e "update orgao set sin_autenticar='N' where id_orgao=0;" sip
67   -
68   -# Atribuição de permissões de acesso externo para o usuário root, senha root
69   -RUN /etc/init.d/mysqld start && \
70   - mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;"
  23 +# Instalação do MySQL 5.7 e demais componentes
  24 +RUN bash install.sh
71 25  
72 26 ##################### FIM DA INSTALACAO #####################
73 27  
... ...
mysql/install.sh 0 → 100644
... ... @@ -0,0 +1,59 @@
  1 +#!/usr/bin/env bash
  2 +
  3 +set -e
  4 +set -u
  5 +set -o pipefail
  6 +
  7 +yum update -y
  8 +
  9 +# Instalar o yum repo rpm package
  10 +yum install -y wget
  11 +wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
  12 +yum localinstall -y mysql57-community-release-el6-7.noarch.rpm
  13 +
  14 +# Instalação do MySQL Server 5.X
  15 +yum install -y mysql-community-server
  16 +
  17 +# Inicialização do diretório de armazenamento do MySQL.
  18 +# PS: Utilizando configuração insegura apenas para propósito de desenvolvimento
  19 +rm -rf /var/lib/mysql/*
  20 +chown -R mysql:mysql /var/lib/mysql
  21 +mysqld --user=mysql --initialize-insecure
  22 +
  23 +# Inicialização do banco de dados
  24 +/etc/init.d/mysqld start
  25 +
  26 +# Criação dos bancos de dados do sistema
  27 +mysqladmin create sip
  28 +mysqladmin create sei
  29 +
  30 +# Criação dos usuários utilizados na conexão com SEI e SIP
  31 +mysql -e "CREATE USER 'sip_user'@'%' IDENTIFIED BY 'sip_user'" sip
  32 +mysql -e "CREATE USER 'sei_user'@'%' IDENTIFIED BY 'sei_user'" sei
  33 +mysql -e "GRANT ALL PRIVILEGES ON sip.* TO 'sip_user'@'%'" sip
  34 +mysql -e "GRANT ALL PRIVILEGES ON sei.* TO 'sei_user'@'%'" sei
  35 +
  36 +# Restauração dos bancos de dados
  37 +mysql sei < /opt/sei_mysql.sql
  38 +mysql sip < /opt/sip_mysql.sql
  39 +rm -f /opt/sei_mysql.sql /opt/sip_mysql.sql
  40 +
  41 +# Atualização dos parâmetros do SEI e do SIP
  42 +mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sip
  43 +mysql -e "update sistema set pagina_inicial='http://localhost/sip' where sigla='SIP';" sip
  44 +mysql -e "update sistema set pagina_inicial='http://localhost/sei/inicializar.php', web_service='http://localhost/sei/controlador_ws.php?servico=sip' where sigla='SEI';" sip
  45 +mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sei
  46 +
  47 +# Temp: Remove registros de auditoria presentes na base de referência
  48 +mysql -e "delete from auditoria_protocolo;" sei
  49 +
  50 +# Configuração para utilizar autenticação nativa do SEI/SIP
  51 +mysql -e "update orgao set sin_autenticar='N' where id_orgao=0;" sip
  52 +
  53 +# Atribuição de permissões de acesso externo para o usuário root, senha root
  54 +mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;"
  55 +
  56 +yum clean -y all
  57 +
  58 +
  59 +exit 0
... ...
mysql/my.cnf
1 1 [mysqld]
  2 +#
  3 +# Remove leading # and set to the amount of RAM for the most important data
  4 +# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
  5 +# innodb_buffer_pool_size = 128M
  6 +#
  7 +# Remove leading # to turn on a very important data integrity option: logging
  8 +# changes to the binary log between backups.
  9 +# log_bin
  10 +#
  11 +# Remove leading # to set options mainly useful for reporting servers.
  12 +# The server defaults are faster for transactions and fast SELECTs.
  13 +# Adjust sizes as needed, experiment to find the optimal values.
  14 +# join_buffer_size = 128M
  15 +# sort_buffer_size = 2M
  16 +# read_rnd_buffer_size = 2M
2 17 datadir=/var/lib/mysql
3 18 socket=/var/lib/mysql/mysql.sock
4   -user=mysql
  19 +
  20 +# Disabling symbolic-links is recommended to prevent assorted security risks
5 21 symbolic-links=0
6   -sql-mode=STRICT_TRANS_TABLES
  22 +
7 23 max_allowed_packet=268435456
8   -innodb_change_buffering=none
9 24  
10   -[mysqld_safe]
11 25 log-error=/var/log/mysqld.log
12 26 pid-file=/var/run/mysqld/mysqld.pid
13   -
... ...