+ Responder ao Tópico



  1. #1

    Question Como rodar duas instâncias do MySQL?

    Fala galera, beleza? o/
    Pessoal, estou com um abacaxi pra descascar. XP

    Seguinte! Aqui na empresa onde trabalho, temos um servidor MySQL rodando alguns aplicativos e talz e ele está em operação, mas estamos com problemas em um software em especifico (todos os outros funcionam normalmente, só um que não) que está extremamente lento. Eu peguei o ambiente em produção, instalei tudo novamente em uma máquina virtual de um notebook que temos e funcionou tudo normal.

    Só que queria fazer um teste diferente. Estou tentando, mas sem sucesso rodar duas instâncias do MySQL (uma que já está instalada via apt-get e outra que baixei da internet, executável).

    Segui (em parte) as instruções do site do MySQL (MySQL :: MySQL 5.1 Reference Manual :: 2.2 Installing MySQL from Generic Binaries on Unix/Linux), mas estou recebendo este erro:

    Código :
    FATAL ERROR: Could not find /usr/share/mysql/mysql_system_tables.sql
     
    If you compiled from source, you need to run 'make install' to
    copy the software into the correct location ready for operation.
     
    If you are using a binary release, you must either be at the top
    level of the extracted archive, or pass the --basedir option
    pointing to that location.

    Até ai tudo bem, fiz o que o MySQL me recomendou com o comando --basedir=(diretório onde coloquei o MySQL que baixei), mas ai ocorre outro erro:

    Código :
    Installing MySQL system tables...
    091019 17:11:11 [Warning] option 'thread_stack': unsigned value 128 adjusted to 131072
    091019 17:11:11 [Warning] The syntax '--log' is deprecated and will be removed in MySQL 7.0. Please use '--general_log'/'--general_log_file' instead.
    091019 17:11:11 [Warning] The syntax '--log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '--slow_query_log'/'--slow_query_log_file' instead.
    091019 17:11:11 [ERROR] /usr/src/mysql/mysql-5.1.39-linux-i686-glibc23/bin/mysqld: unknown option '--skip-bdb'
    091019 17:11:11 [ERROR] Aborting
     
    091019 17:11:11 [Warning] Forcing shutdown of 2 plugins
    091019 17:11:11 [Note] /usr/src/mysql/mysql-5.1.39-linux-i686-glibc23/bin/mysqld: Shutdown complete
     
     
    Installation of system tables failed!  Examine the logs in
    /var/lib/mysql for more information.
     
    You can try to start the mysqld daemon with:
     
        shell> /usr/src/mysql/mysql-5.1.39-linux-i686-glibc23/bin/mysqld --skip-grant &
     
    and use the command line tool /usr/src/mysql/mysql-5.1.39-linux-i686-glibc23/bin/mysql
    to connect to the mysql database and look at the grant tables:
     
        shell> /usr/src/mysql/mysql-5.1.39-linux-i686-glibc23/bin/mysql -u root mysql
        mysql> show tables
     
    Try 'mysqld --help' if you have problems with paths.  Using --log
    gives you a log in /var/lib/mysql that may be helpful.
     
    The latest information about MySQL is available on the web at
    http://www.mysql.com/.  Please consult the MySQL manual section
    'Problems running mysql_install_db', and the manual section that
    describes problems on your OS.  Another information source are the
    MySQL email archives available at http://lists.mysql.com/.
     
    Please check all of the above before mailing us!  And remember, if
    you do mail us, you MUST use the /usr/src/mysql/mysql-5.1.39-linux-i686-glibc23/scripts/mysqlbug script!

    Tentei também usar outras flags, como a de port, datadir, etc, mas nenhuma delas surtiu efeito. Alguém sabe como devo proceder para rodar duas instâncias? A idéia era fazer um dump do banco atual e restaurar na versão mais nova na própria máquina de produção, sem afetar os demais usuários.

    Tentei também compilar o código-fonte (consegui), mas teve o mesmo efeito (não consegui rodar o MySQL). O MySQL do Debian está usando as configurações padrões.

    Forte abraço a todos. o/

  2. #2

    Padrão

    Para rodar duas instâncias do Mysql vc deve procurar por MySQL_Mult qualquer dúvida posta aqui...

    Cada uma rodaria em uma porta diferente...


    Att

  3. #3

    Padrão

    Opa rapaz, tudo em cima?

    Descobri o que estava causando a lentidão, mas não consegui resolver. É o firewall. o.o''

    Bom, como se encontra o meu ambiente:
    Eu tenho um firewall Linux e nele tenho o Apache, o PHP e o MySQL instalados. O firewall está configurado da seguinte forma:

    Código :
    # Se a origem das conexões for a própria máquina (localhost), liberar.
    -A INPUT -i lo -j ACCEPT
    # Se a origem for uma conexão já estabelecida, permitir.
    -A INPUT -m state --state ESTABLISHED -j ACCEPT
    # Se a origem for uma conexão relacionada, permitir.
    -A INPUT -m state --state RELATED -j ACCEPT
    # Permitir Ping, apenas se a taxa de pacotes for inferior a 1 por segundo.
    -A INPUT -p icmp -m icmp -m limit --icmp-type echo-request --limit 1/second -j ACCEPT
    # Se destino for serviço de FTP no firewall na porta 20 e 21, liberar.
    -A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
    # Se destino for range de portas de FTP Passivo (60000 e 61000), permitir.
    -A INPUT -p tcp -m tcp --dport 60000:61000 --sport 60000:61000 -j ACCEPT
    # Permitir o acesso ao serviço SSH do Servidor.
    -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    # Se destino for Intranet (firewall) na porta 80 (HTTP) mesmo que seja de fora, liberar.
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    # Se destino for Intranet (firewall) na porta 8080 (HTTP) mesmo que seja de fora, liberar.
    -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
    # Se destino for Intranet (firewall) na porta 443 (SSL), liberar.
    -A INPUT -p tcp -m tcp -s 192.168.0.0/255.255.255.0 --dport 443 -j ACCEPT
    # Se destino for Servidor Samba no firewall nas portas 139 com TCP, liberar.
    -A INPUT -p tcp -m tcp -s 192.168.0.0/255.255.255.0 --dport 139 -j ACCEPT
    # Se houver tentativa de resolução de nome via NetBIOS no Firewall sendo a origem a rede interna com UDP, permitir.
    -A INPUT -p udp -m udp -s 192.168.0.0/255.255.255.0 --dport 137:138 -j ACCEPT
    # Se o destino for o servidor proxy e a rede interna tentar acessá-lo, permitir.
    -A INPUT -p tcp -m tcp -s 192.168.0.0/255.255.255.0 --dport 3128 -j ACCEPT
    # Se destino for Intranet (firewall) na porta 443 (HTTPS) mesmo que seja de fora, liberar.
    -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
    # Permitir o acesso para ferramenta TimeSheet.exe (MySQL)
    -A INPUT -p tcp -m tcp -s 192.168.0.0/255.255.255.0 --dport 3306 -j ACCEPT
    # Permitir o acesso ao Webmin para a rede interna.
    -A INPUT -p tcp -m tcp -s 192.168.0.0/255.255.255.0 --dport 10000 -j ACCEPT
    # Se destino for servidor CVS na rede interna, permitir.
    -A INPUT -p tcp -m tcp -i eth1 --dport 2401 -j ACCEPT
    # Se destino for servidor CVS na rede interna, permitir.
    -A INPUT -p tcp -m tcp -i eth1 --dport 2402 -j ACCEPT
    # Se destino for porta 9090 (DNAT) para máquina da rede interna, permitir.
    -A INPUT -p tcp -m tcp -i eth1 --dport 9090 -j ACCEPT
    # Se destino for porta 5165 (DNAT) para máquina da rede interna, permitir.
    -A INPUT -p tcp -m tcp -i eth1 --dport 5165 -j ACCEPT
    # Se destino for porta 5004 (DNAT) para máquina da rede interna, permitir.
    -A INPUT -p tcp -m tcp -i eth1 --dport 5004 -j ACCEPT
    # Se destino for porta 5999 (DNAT) para máquina da rede interna, permitir.
    -A INPUT -p tcp -m tcp -i eth1 --dport 5999 -j ACCEPT
    # Se destino for porta 5161 (DNAT) para máquina da rede interna, permitir.
    -A INPUT -p tcp -m tcp -i eth1 --dport 5161 -j ACCEPT
    # Se destino for porta 5149 (DNAT) para máquina da rede interna, permitir.
    -A INPUT -p tcp -m tcp -i eth1 --dport 5149 -j ACCEPT

    Que regra pode estar faltando? ^^''
    O engraçado é que todos os outros serviços que usam o MySQL funcionam normalmente. O que seria exatamente o problema: Quando aplico as regras, o Mantis Bug Tracker fica lento (Mantis é um software para gerenciamento e resolução de problemas com os softwares de desenvolvimento). Eu consigo resposta do servidor, mas ele demora um booooooooom tempo para exibir a página com o conteúdo. Quando desativo o firewall, o mesmo funciona normal.

    Nota: Parece que o problema está mais relacionado com rede agora, devo criar um tópico na área de redes?

    Nota 2: A politica do firewall é DROP.

    Obrigado pela força a todos. =)

  4. #4

    Padrão

    Então... quais as portas utilizadas pelos MySQLs ?? Faça um teste.... apenas coloque as politicas padrões do iptables como ACCEPT.... mas deixe suas regras ali...

    Na me parece fazer muito sentido um regra de input causar lentidão... pq ela só aceita conexão e não roteia ou etc...

    Da uma olhada em como configurar o mysql mult... é o ideal para várias instâncias....

    Aguardo...