Fórum Ubuntu Linux - PT
Suporte Técnico => Servidores => Tópico iniciado por: zaptool em 08 de Abril de 2015, 10:51
-
Aqui onde trabalho, surgiu a necessidade de criar um ambiente com dois banco de dados distintos, um para homologação e outro para os programadores desenvolverem seus trabalhos.
Atualmente o banco de dados vigente é o de Homologação.
Tentei por inúmeras vezes seguindo dicas encontradas pelo google, que consiste basicamente em duplicar alguns arquivos e pastas, escutando respectivamente nas portas 3306(default) e 3307 (adicional).
No entanto, em nenhumas das minhas tentativas obtive sucesso.
Meu servidor é Ubuntu 14.04 e o Mysql é 5.6
Minha ultima tentativa foi seguindo o artigo contido no link abaixo:
https://naveensnayak.wordpress.com/2013/11/10/mysql-multiple-instances-on-ubuntu/
Gostaria de saber se alguém aqui já desenvolveu este processo e pode me dar alguma dica !
vlw Galera !!
-
Olá zaptool,
Você não precisa ter duas instâncias de MySQL separadas para ter dois bancos. Vc pode perfeitamente ter dois bancos separados na mesma instância...
Outra alternativa que vc pode considerar é criar uma máquina virtual onde implantaria a base de dados de homologação.
-
Olá zekkerj !!
Entendi perfeitamente sua colocação, entretanto, a base de dados atuais possui cerca de 30 Schemas com cerca de 1200 tabelas.
O Ambiente dos desenvolvedores precisam desses schemas basicamente duplicados, por isso existe a necessidade de separa-los em Bancos diferentes, entende ?
Encontrei um tutorial interessante
http://ithubinfo.blogspot.com.br/2014/03/easy-way-to-install-and-configure-mysql.html
, segui a risca mas ao subir o serviço mysql_multi start somente a primeira instancia subiu.... :(
root@ubuntu:/etc/mysql# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is not running
SEGUE TRECHO DO LOG EM /var/log/mysqld_multi.error
Starting MySQL servers
150408 07:34:38 mysqld_safe Logging to '/var/log/mysqlcrm.err'.
150408 07:34:38 mysqld_safe Logging to '/var/log/mysqlerp.err'.
150408 07:34:38 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql2
150408 07:34:38 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
150408 07:34:40 mysqld_safe mysqld from pid file /var/lib/mysql2/mysql.pid ended
mysqld_multi log file version 2.16; run: Wed Apr 8 07:34:41 2015
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is not running
-
O Ambiente dos desenvolvedores precisam desses schemas basicamente duplicados, por isso existe a necessidade de separa-los em Bancos diferentes, entende ?
Ainda acho que isso não é necessário. Até onde eu sei, você ter suas duas bases diferentes na mesma instância. Pode inclusive exportar a primeira como texto SQL, mudar o nome do banco, depois importar de volta.
-
Enquanto isso... os processos do mysql rodam com usuário próprio, certo? Nesse caso, certifique-se de que os diretórios novos (/var/lib/mysql2, /var/run/mysql2, /var/log/mysql2, etc) pertençam ao usuário e/ou ao grupo corretos, e não ao root.
Certifique-se também de ter reconfigurado e reiniciado o serviço AppArmor para liberar acesso de escrita aos novos diretórios.