mysql_upgrade em múltiplas instâncias do mysql

2

Estou executando 5 instâncias do mysql (servidor de replicação de backup) e preciso executar mysql_upgrade no servidor id = 3 (porta 3303). Quando eu tento fazer

# mysql_upgrade -P3303 

O script é executado na instância # 0 (id = 0) e não no número 3.

Alguém sabe como posso fazer isso?

    
por Ian 27.08.2009 / 19:32

2 respostas

1

Pode ser apenas uma pequena coisa, mas acho que você precisa de um espaço após o -P e antes do número da porta. Ou isso é apenas um erro de transcrição?

Para evitar a conexão com outras instâncias, você pode interromper todas elas, exceto aquela em que deseja trabalhar.

Se a instância não for iniciada, não acho que a maioria das ferramentas funcionará também. Deve ter algo bastante errado para não começar. Presumivelmente, você tem uma versão mais antiga do MySQL com a qual ele irá trabalhar (que você está atualizando) - você pode executar uma instância mais antiga que não precisa de atualização e reparar todas as suas tabelas antes de tentar novamente a atualização? Ou até fazer um despejo e carregar da versão antiga para a nova (deve estar bem no que diz respeito à replicação) em vez de fazer uma atualização no local.

Você também pode tentar executar o mysqlcheck manualmente em vez de via mysql_upgrade.

    
por 04.10.2010 / 20:34
0

Você pode especificar o soquete:
Eu acho que você provavelmente precisa especificar o arquivo de soquete para a instância específica com a opção -S, mas eu nunca fiz isso antes. Por exemplo:

mysql_upgrade -S /var/run/mysqld/mysqld.sock

Ou, você precisa dizer para usar o TCP:
Se você não usa o socket e usa tcp, você precisa especificar tcp com -h 127.0.0.1 (não localhost) ou --protocol = tcp. Do Manual :

You can specify a port number for connections to a local server, too. However, as indicated previously, connections to localhost on Unix will use a socket file by default. You will need to force a TCP/IP connection as already described or any option that specifies a port number will be ignored.

    
por 27.08.2009 / 20:47