Como rodar duas instâncias do MySQL?

1. Como rodar duas instâncias do MySQL?

Alex Santos
Bit

(usa Debian)

Enviado em 20/10/2009 - 11:37h

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:



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.[/code]



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:



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. Re: Como rodar duas instâncias do MySQL?

Luis Ortiz
lois.cc

(usa CentOS)

Enviado em 05/01/2010 - 21:40h

O amigo medeirosdiego me mandou este trocho da doc e me ajudou muito...

http://dev.mysql.com/doc/refman/5.0/en/mysqld-multi.html

o meu my.cnf ficou assim: Talvez te ajude...

[mysqld_multi]
mysqld=/usr/bin/mysqld_safe
mysqladmin=/usr/bin/mysqladmin


[mysqld1]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306
pid-file=/var/run/mysqld/mysqld.pid1
old_passwords=1

[mysqld2]
datadir=/var/lib/mysql2
socket=/var/lib/mysql2/mysql2.sock
user=mysql
port=3307
pid-file=/var/run/mysqld/mysqld.pid2
old_passwords=1

[mysqld_safe]
log-error=/var/log/mysqld.log





3. Re: Como rodar duas instâncias do MySQL?

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 06/01/2010 - 00:39h

Para que isso seja possível, você deve ao compilar o mysql a partir das fontes, mudar a porta na qual o daemon dele vai escutar. Supondo que o que foi instalado via apt escute na porta '123', ao compilar especifique outra porta tipo '124'. Essa opção de mudança de porta você vai especificar ao rodar o script 'configure'. Além do mais especificar outro local para a criação do cluster de armazenamento dos bancos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts