enhancement: support more my.cnf client features

Aberta
#1,265 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 10 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
40/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
go, mysql
Domínio
cli, databases

Direção de pesquisa

Comece localizando o parsing de my.cnf e o tratamento da linha de comando do gh-ost para -host, -database e --defaults-group-suffix. Leia como o bloco [client] é selecionado atualmente e, em seguida, verifique se os valores do arquivo são usados e se flags explícitas os substituem, incluindo blocos [clientXXXX] com sufixo. Está concluído quando essas combinações de configuração funcionarem com vários servidores MySQL.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

I support a lot of different databases and DB servers, and it would be really convenient if gh-ost could make better use of my.cnf config files. Specifically:

  1. Reading hostnames and database names from the [client] block. Preferably, if a -host and/or -database flag is also passed, then that would override whatever is in the file. Right now, it ignores these lines altogether.

  2. Support the mysql "--defaults-group-suffix=" flag. This flag lets you have multiple [clientXXXX] blocks in your my.cnf, and choose which one to use. Right now gh-ost only supports the default [client] block with no suffix, which makes it more painful to use when working on multiple servers/clusters.

In its current form, gh-ost is somewhat awkward to use while working with multiple (unrelated) DB servers, because you need a different config file for each one and can't save DB names and hostnames in it. This would help us out a lot with that.

Cheers!

Linguagem predominante
Go
Estrelas
13.6k
Forks
1.4k
Merge médio
9d 19h
PRs com merge (30d)
1

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de github/gh-ost

Todas as issues de github/gh-ost

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.