Commit 69b84b1092640c2bb33a042dc1d5908dc2d17ab4
Exists in
sei-v3.0.0-oracle-dockerimages
and in
3 other branches
Atualização do Mysql para versão 5.7
Ajuste realizado para resolver o problema truncamento de dados caso extrapole o tamanho da coluna. (Closes #6)
Showing
4 changed files
with
90 additions
and
71 deletions
Show diff stats
Vagrantfile
| 1 | # -*- mode: ruby -*- | 1 | # -*- mode: ruby -*- |
| 2 | # vi: set ft=ruby : | 2 | # vi: set ft=ruby : |
| 3 | -require "yaml" | ||
| 4 | 3 | ||
| 5 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! | 4 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! |
| 6 | VAGRANTFILE_API_VERSION = "2" | 5 | VAGRANTFILE_API_VERSION = "2" |
| 7 | 6 | ||
| 8 | -# Parâmetros de customização do ambiente de desenvolvimento | ||
| 9 | -params = if File.exists?("Vagrantfile.conf") then YAML::load_file("Vagrantfile.conf") else {} end | ||
| 10 | -params_source_dir = params["source_dir"] || "../sei" | ||
| 11 | -params_memoria_vm = params["memoria_vm"] || "1024" | ||
| 12 | - | ||
| 13 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | 7 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| |
| 14 | 8 | ||
| 15 | # Atribuição do hostname da máquina virtual | 9 | # Atribuição do hostname da máquina virtual |
| @@ -27,22 +21,18 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | @@ -27,22 +21,18 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | ||
| 27 | 21 | ||
| 28 | # Diretórios compartilhados com a durante a execução | 22 | # Diretórios compartilhados com a durante a execução |
| 29 | config.vm.synced_folder ".", "/mnt/sei/ops" | 23 | config.vm.synced_folder ".", "/mnt/sei/ops" |
| 30 | - config.vm.synced_folder params_source_dir, "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"] | 24 | + config.vm.synced_folder "../sei", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"] |
| 31 | 25 | ||
| 32 | - # Provider-specific configuration so you can fine-tune various | ||
| 33 | - # backing providers for Vagrant. These expose provider-specific options. | ||
| 34 | config.vm.provider "virtualbox" do |vb| | 26 | config.vm.provider "virtualbox" do |vb| |
| 35 | - # vb.gui = true | ||
| 36 | - # Use VBoxManage to customize the VM. For example to change memory: | ||
| 37 | - vb.customize ["modifyvm", :id, "--memory", params_memoria_vm, "--usb", "off", "--audio", "none"] | 27 | + vb.customize ["modifyvm", :id, "--memory", "2048", "--usb", "off", "--audio", "none"] |
| 38 | end | 28 | end |
| 39 | 29 | ||
| 40 | - config.vm.provision "shell", | ||
| 41 | - inline: <<SCRIPT | ||
| 42 | - mkdir -p /mnt/sei/ops/mysql/.tmp/ | ||
| 43 | - cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php | ||
| 44 | - cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php | ||
| 45 | -SCRIPT | 30 | +# config.vm.provision "shell", |
| 31 | +# inline: <<SCRIPT | ||
| 32 | +# mkdir -p /mnt/sei/ops/mysql/.tmp/ | ||
| 33 | +# cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php | ||
| 34 | +# cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php | ||
| 35 | +#SCRIPT | ||
| 46 | 36 | ||
| 47 | # Provisionamento da Máquina Virtual responsável por manter os containers do Docker | 37 | # Provisionamento da Máquina Virtual responsável por manter os containers do Docker |
| 48 | config.vm.provision "docker" do |docker| | 38 | config.vm.provision "docker" do |docker| |
mysql/Dockerfile
| @@ -13,59 +13,15 @@ MAINTAINER PEN - Processo Eletrônico Nacional | @@ -13,59 +13,15 @@ MAINTAINER PEN - Processo Eletrônico Nacional | ||
| 13 | 13 | ||
| 14 | ################## INICIO DA INSTALACAO ###################### | 14 | ################## INICIO DA INSTALACAO ###################### |
| 15 | # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI | 15 | # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI |
| 16 | -# Ref: https://processoeletronico.gov.br/projects/sei/wiki | ||
| 17 | - | ||
| 18 | -# Instalação do MySQL Server 5.X | ||
| 19 | -RUN yum update -y && \ | ||
| 20 | - yum install -y mysql-server-5.* && \ | ||
| 21 | - yum -y clean all | ||
| 22 | 16 | ||
| 23 | # Cópia dos backups dos bancos de dados do SEI e SIP | 17 | # Cópia dos backups dos bancos de dados do SEI e SIP |
| 24 | -#ADD .tmp/sei_mysql.sql /tmp/sei_mysql.sql | ||
| 25 | -#ADD .tmp/sip_mysql.sql /tmp/sip_mysql.sql | ||
| 26 | -ADD sei-db-ref-executivo/mysql/sei_2_6_0_BD_Ref_Exec.sql /tmp/sei_mysql.sql | ||
| 27 | -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 | ||
| 28 | ADD my.cnf /etc/my.cnf | 20 | ADD my.cnf /etc/my.cnf |
| 21 | +ADD install.sh /install.sh | ||
| 29 | 22 | ||
| 30 | -# Configuração da estrutura inicial do banco de dados | ||
| 31 | -RUN mysql_install_db | ||
| 32 | - | ||
| 33 | -# Criação dos bancos de dados do sistema | ||
| 34 | -RUN /etc/init.d/mysqld start && \ | ||
| 35 | - mysqladmin create sip && \ | ||
| 36 | - mysqladmin create sei | ||
| 37 | - | ||
| 38 | -# Criação dos usuários utilizados na conexão com SEI e SIP | ||
| 39 | -RUN /etc/init.d/mysqld start && \ | ||
| 40 | - mysql -e "CREATE USER 'sip_user'@'%' IDENTIFIED BY 'sip_user'" sip && \ | ||
| 41 | - mysql -e "CREATE USER 'sei_user'@'%' IDENTIFIED BY 'sei_user'" sei && \ | ||
| 42 | - mysql -e "GRANT ALL PRIVILEGES ON sip.* TO 'sip_user'@'%'" sip && \ | ||
| 43 | - mysql -e "GRANT ALL PRIVILEGES ON sei.* TO 'sei_user'@'%'" sei | ||
| 44 | - | ||
| 45 | -# Restauração dos bancos de dados | ||
| 46 | -RUN /etc/init.d/mysqld start && cd /tmp && \ | ||
| 47 | - mysql sei < sei_mysql.sql && \ | ||
| 48 | - mysql sip < sip_mysql.sql && \ | ||
| 49 | - rm -f /tmp/sei_mysql.sql /tmp/sip_mysql.sql | ||
| 50 | - | ||
| 51 | -# Atualização dos parâmetros do SEI e do SIP | ||
| 52 | -RUN /etc/init.d/mysqld start && \ | ||
| 53 | - mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sip && \ | ||
| 54 | - mysql -e "update sistema set pagina_inicial='http://localhost/sip' where sigla='SIP';" sip && \ | ||
| 55 | - 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 && \ | ||
| 56 | - mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sei | ||
| 57 | - | ||
| 58 | -# Temp: Remove registros de auditoria presentes na base de referência | ||
| 59 | -RUN /etc/init.d/mysqld start && \ | ||
| 60 | - mysql -e "delete from auditoria_protocolo;" sei | ||
| 61 | - | ||
| 62 | -# Configuração para utilizar autenticação nativa do SEI/SIP | ||
| 63 | -RUN /etc/init.d/mysqld start && \ | ||
| 64 | - mysql -e "update orgao set sin_autenticar='N' where id_orgao=0;" sip | ||
| 65 | - | ||
| 66 | -# Atribuição de permissões de acesso externo para o usuário root, senha root | ||
| 67 | -RUN /etc/init.d/mysqld start && \ | ||
| 68 | - 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 | ||
| 69 | 25 | ||
| 70 | ##################### FIM DA INSTALACAO ##################### | 26 | ##################### FIM DA INSTALACAO ##################### |
| 71 | 27 |
| @@ -0,0 +1,59 @@ | @@ -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 | [mysqld] | 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 | datadir=/var/lib/mysql | 17 | datadir=/var/lib/mysql |
| 3 | socket=/var/lib/mysql/mysql.sock | 18 | socket=/var/lib/mysql/mysql.sock |
| 4 | -user=mysql | 19 | + |
| 20 | +# Disabling symbolic-links is recommended to prevent assorted security risks | ||
| 5 | symbolic-links=0 | 21 | symbolic-links=0 |
| 6 | -sql-mode=STRICT_TRANS_TABLES | 22 | + |
| 7 | max_allowed_packet=268435456 | 23 | max_allowed_packet=268435456 |
| 8 | 24 | ||
| 9 | -[mysqld_safe] | ||
| 10 | log-error=/var/log/mysqld.log | 25 | log-error=/var/log/mysqld.log |
| 11 | pid-file=/var/run/mysqld/mysqld.pid | 26 | pid-file=/var/run/mysqld/mysqld.pid |
| 12 | - |