Mudanças entre as edições de "Unilab no Linux"
(→Política da Uniware) |
(Etiqueta: visualeditor) |
||
Linha 1: | Linha 1: | ||
− | Atualmente é possível rodar o Banco de dados do Unilab no Linux. | + | Atualmente é possível rodar o Banco de dados do Unilab no Linux. Também é possível ter os executáveis e arquivos do Unilab no servidor Linux (Apenas o compartilhamento de pasta). |
− | |||
− | Também é possível ter os executáveis e arquivos do Unilab no servidor Linux. | ||
== Política da Uniware == | == Política da Uniware == | ||
Linha 12: | Linha 10: | ||
** fazer a instalação do Linux, MySQL e qualquer outro software que se julgue necessário. | ** fazer a instalação do Linux, MySQL e qualquer outro software que se julgue necessário. | ||
** pelo sistema operacional Linux e qualquer manutenção que ele requira. | ** pelo sistema operacional Linux e qualquer manutenção que ele requira. | ||
− | + | ** para a Uniware poder ajudar caso o banco de dados dê algum problema o técnico deve disponibilizar alguma forma de acesso remoto à máquina. Tal acesso pode ser feito por teamviewer diretamente no computador linux (Desde que tenha interface gráfica) ou por qualquer computador windows na rede, através do "Putty". | |
− | |||
− | |||
− | ** para a Uniware poder ajudar caso o banco de dados dê algum problema o técnico deve disponibilizar alguma forma de acesso remoto à máquina. | ||
− | |||
== MySQL no Linux == | == MySQL no Linux == | ||
Linha 28: | Linha 22: | ||
* Restaurar o backup do banco de dados do Unilab (por padrão o nome do banco de dados deve ser unilabw). | * Restaurar o backup do banco de dados do Unilab (por padrão o nome do banco de dados deve ser unilabw). | ||
* Assim que o banco de dados estiver configurado e já tiver restaurado o backup do Unilab, a Uniware vai acessar remotamente uma máquina Windows da rede que rode o Unilab e vai fazer a última configuração para rodar o Unilab. | * Assim que o banco de dados estiver configurado e já tiver restaurado o backup do Unilab, a Uniware vai acessar remotamente uma máquina Windows da rede que rode o Unilab e vai fazer a última configuração para rodar o Unilab. | ||
+ | |||
+ | == Versões de Linux e MySQL recomendadas == | ||
+ | Debian 8.6 ou 8.7. | ||
+ | |||
+ | Mysq 5.5 | ||
+ | |||
+ | == Instalando MySQL e configurando == | ||
+ | para instalar o MySQL, deve-ser executar o comando abaixo: | ||
+ | apt-get install mysql-server | ||
+ | Lembrando que durante a instalação será solicitada uma senha para o root do mysql. geralmente colocamos a senha; "root". | ||
+ | |||
+ | Após a instalação, deve ser feita a configuração do mysql para receber o banco de dados do Unilab, são elas: | ||
+ | |||
+ | === Configurar o my.cnf: === | ||
+ | Editar o arquivo, que geralmente fica em "/etc/mysql/my.cnf", Caso o cliente esteja usando o mysql 5.7, o arquivo fica em "/etc/mysql/mysql.conf.d/mysqld.cnf". | ||
+ | |||
+ | Alterar as linhas, para ficarem exatamente iguais as linhas abaixo: | ||
+ | port = 3309 | ||
+ | #bind-addres = 127.0.0.1 | ||
+ | default-storage-engine=INNODB | ||
+ | |||
+ | #Inserir as linhas na sessão [mysqld]: | ||
+ | sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" | ||
+ | lower_case_table_names = 1 | ||
+ | <nowiki>*****</nowiki>As linhas não necessariamente estarão nessa ordem. | ||
+ | |||
+ | === Criar o banco de dados unilabw e o usuário UNIWARE no mysql === | ||
+ | Acessar o banco de dados com o comando: | ||
+ | mysql -uroot -p | ||
+ | Criar o banco de dados Unilabw: | ||
+ | create database unilabw; | ||
+ | Criar e dar permissões para o usuário uniware (Rodar uma linha de cada vez): | ||
+ | GRANT ALL ON *.* TO 'UNIWARE'@'localhost' IDENTIFIED BY 'DBUCFGS' WITH GRANT OPTION; | ||
+ | GRANT ALL ON *.* TO 'UNIWARE'@'%' IDENTIFIED BY 'DBUCFGS' WITH GRANT OPTION; | ||
+ | FLUSH PRIVILEGES; | ||
+ | Nesse ponto o MySQL está configurado para ser restaurado, e é necessário que seja transferido um backup para o servidor linux, para que seja restaurado. Por padrão, é criada uma pasta na raiz do servidor, que depois será utilizada para configurar o backup. | ||
+ | |||
+ | Criar | ||
=== Exemplo de alterações para o my.cnf do Ubuntu === | === Exemplo de alterações para o my.cnf do Ubuntu === |
Edição das 10h42min de 13 de outubro de 2017
Atualmente é possível rodar o Banco de dados do Unilab no Linux. Também é possível ter os executáveis e arquivos do Unilab no servidor Linux (Apenas o compartilhamento de pasta).
Índice
Política da Uniware
A política da Uniware em relação à servidores Linux com MySQL para o Unilab é a seguinte:
- Nós reconhecemos que o desempenho do MySQL no Linux é bastante superior e inclusive recomendamos para o laboratório que puder ter um servidor Linux.
- A Uniware não dá manutenção em servidores Linux.
- O Cliente Uniware que quiser utilizar uma máquina com Linux para o banco de dados tem que ter um técnico local que lhe dê total suporte no Linux.
- O técnico do cliente fica responsável por:
- fazer a instalação do Linux, MySQL e qualquer outro software que se julgue necessário.
- pelo sistema operacional Linux e qualquer manutenção que ele requira.
- para a Uniware poder ajudar caso o banco de dados dê algum problema o técnico deve disponibilizar alguma forma de acesso remoto à máquina. Tal acesso pode ser feito por teamviewer diretamente no computador linux (Desde que tenha interface gráfica) ou por qualquer computador windows na rede, através do "Putty".
MySQL no Linux
Para o Unilab funcionar corretamente, o MySQL no Linux deve ser configurado para:
- Trabalhar com a engine INNODB por padrão.
- Ter no mínimo 4 tablespaces de 4GB, ou uma tablespace de 16GB.
- Incluir na seção mysqld a opção lower_case_table_names = 1 isso faz com que o banco rode no linux de forma case insensitive, isto descarta a necessidade de converter nomes de tabelas para maiúsculo.
- Utilizar o charset latin1 por padrão.
- Tunar os parâmetros de tamanho de cache, memória, tabelas temporárias, para o INNODB. Afinal, geralmente o mysql do linux vem tunado para servidor web (MyISAM).
- Restaurar o backup do banco de dados do Unilab (por padrão o nome do banco de dados deve ser unilabw).
- Assim que o banco de dados estiver configurado e já tiver restaurado o backup do Unilab, a Uniware vai acessar remotamente uma máquina Windows da rede que rode o Unilab e vai fazer a última configuração para rodar o Unilab.
Versões de Linux e MySQL recomendadas
Debian 8.6 ou 8.7.
Mysq 5.5
Instalando MySQL e configurando
para instalar o MySQL, deve-ser executar o comando abaixo:
apt-get install mysql-server
Lembrando que durante a instalação será solicitada uma senha para o root do mysql. geralmente colocamos a senha; "root".
Após a instalação, deve ser feita a configuração do mysql para receber o banco de dados do Unilab, são elas:
Configurar o my.cnf:
Editar o arquivo, que geralmente fica em "/etc/mysql/my.cnf", Caso o cliente esteja usando o mysql 5.7, o arquivo fica em "/etc/mysql/mysql.conf.d/mysqld.cnf".
Alterar as linhas, para ficarem exatamente iguais as linhas abaixo:
port = 3309 #bind-addres = 127.0.0.1 default-storage-engine=INNODB #Inserir as linhas na sessão [mysqld]: sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" lower_case_table_names = 1
*****As linhas não necessariamente estarão nessa ordem.
Criar o banco de dados unilabw e o usuário UNIWARE no mysql
Acessar o banco de dados com o comando:
mysql -uroot -p
Criar o banco de dados Unilabw:
create database unilabw;
Criar e dar permissões para o usuário uniware (Rodar uma linha de cada vez):
GRANT ALL ON *.* TO 'UNIWARE'@'localhost' IDENTIFIED BY 'DBUCFGS' WITH GRANT OPTION; GRANT ALL ON *.* TO 'UNIWARE'@'%' IDENTIFIED BY 'DBUCFGS' WITH GRANT OPTION; FLUSH PRIVILEGES;
Nesse ponto o MySQL está configurado para ser restaurado, e é necessário que seja transferido um backup para o servidor linux, para que seja restaurado. Por padrão, é criada uma pasta na raiz do servidor, que depois será utilizada para configurar o backup.
Criar
Exemplo de alterações para o my.cnf do Ubuntu
O exemplo abaixo não é um my.cnf completo. Ele apenas relaciona as linhas que são importantes para o Unilab.
Verifique o my.cnf do seu mysql, se alguma das linhas abaixo não existir, acrescente. Se já existir, modifique para deixar conforme abaixo.
As configurações de tunning podem ser diferentes do exemplo abaixo se você tiver uma máquina que suporta trabalhar com mais memória do que o especificado abaixo, entretanto, só altere estas configurações se você tiver certeza do que está fazendo.
[client] default-character-set=latin1 # [mysqld] # The default character set that will be used when a new schema or table is # created and no character set is defined default-character-set=latin1 # # The default storage engine that will be used when create new tables when default-storage-engine=INNODB # # Set the SQL mode to strict sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" # # isso faz com que o banco rode no linux de forma case insensitive, # descartando a necessidade de converter nomes de tabelas para maiúsculo. lower_case_table_names = 1 # # Comentar a linha abaixo para que outras máquinas da rede possam acessar o mysql. #bind-address = 127.0.0.1 # table_cache = 256 query_cache_size = 0 # # #*** INNODB Specific options *** # # # Use this option if you have a MySQL server with InnoDB support enabled # but you do not plan to use it. This will save memory and disk space # and speed up some things. #skip-innodb # # Additional memory pool that is used by InnoDB to store metadata # information. If InnoDB requires more memory for this purpose it will # start to allocate it from the OS. As this is fast enough on most # recent operating systems, you normally do not need to change this # value. SHOW INNODB STATUS will display the current amount used. innodb_additional_mem_pool_size=10M # # If set to 1, InnoDB will flush (fsync) the transaction logs to the # disk at each commit, which offers full ACID behavior. If you are # willing to compromise this safety, and you are running small # transactions, you may set this to 0 or 2 to reduce disk I/O to the # logs. Value 0 means that the log is only written to the log file and # the log file flushed to disk approximately once per second. Value 2 # means the log is written to the log file at each commit, but the log # file is only flushed to disk approximately once per second. innodb_flush_log_at_trx_commit=1 # # The size of the buffer InnoDB uses for buffering log data. As soon as # it is full, InnoDB will have to flush it to disk. As it is flushed # once per second anyway, it does not make sense to have it very large # (even with long transactions). innodb_log_buffer_size=2M # # InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and # row data. The bigger you set this the less disk I/O is needed to # access data in tables. On a dedicated database server you may set this # parameter up to 80% of the machine physical memory size. Do not set it # too large, though, because competition of the physical memory may # cause paging in the operating system. Note that on 32bit systems you # might be limited to 2-3.5G of user level memory per process, so do not # set it too high. innodb_buffer_pool_size=1000M # # Size of each log file in a log group. You should set the combined size # of log files to about 25%-100% of your buffer pool size to avoid # unneeded buffer pool flush activity on log file overwrite. However, # note that a larger logfile size will increase the time needed for the # recovery process. innodb_log_file_size=46M # # Number of threads allowed inside the InnoDB kernel. The optimal value # depends highly on the application, hardware as well as the OS # scheduler properties. A too high value may lead to thread thrashing. innodb_thread_concurrency=8 # #Paths to individual datafiles and their sizes. innodb_data_file_path=ibdata1:4000M;ibdata2:4000M;ibdata3:4000M;ibdata4:4000M;
Não enviar este tópico para o cliente
Assim que o banco de dados estiver configurado a Uniware vai acessar remotamente uma máquina Windows da rede que rode o Unilab e vai fazer a última configuração para rodar o Unilab:
- Pagar com o técnico o ip da máquina do mysql, o nome do banco de dados, a porta onde o mysql está rodando e a senha do usuário root do banco de dados.
- Acessar o mysql dele com UnilabTools (você vai precisar da senha do usuário root dele) e rodar os 3 SQLs abaixo na sequência:
GRANT ALL ON *.* TO 'UNIWARE'@'localhost' IDENTIFIED BY 'DBUCFGS' WITH GRANT OPTION; GRANT ALL ON *.* TO 'UNIWARE'@'%' IDENTIFIED BY 'DBUCFGS' WITH GRANT OPTION; FLUSH PRIVILEGES;
- Configurar o ini do Unilab e entrar no Unilab;
Uma vez pedimos para primeiro restaurar o backup para depois rodar o script acima para criação do usuário uniware, mas o técnico do cliente relatou que não foi possível restaurar o backup porque deu erro de usuário Uniware não existe. Portanto a partir de agora sempre rodar a criação do usuário uniware assim que o servidor estiver configurado, antes de restaurar o backup.
Arquivos do Unilab no Linux
Na página Linux - Instalação Servidores está documentado como compartilhar arquivos com samba.