a question about the usage of gh-ost when migrated

Aberta
#1,361 0 comentários 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
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
go, mysql
Domínio
databases

Direção de pesquisa

Comece pelo SQL da tabela temporária mostrado na issue e rastreie onde o gh-ost define as colunas hint e value com o conjunto de caracteres ASCII. Compare esse comportamento com os requisitos de migração do MySQL e confirme se uma alteração no conjunto de caracteres preservaria os metadados da ferramenta; considera-se concluído quando a questão de compatibilidade estiver respondida e qualquer comportamento necessário estiver coberto por um teste de regressão.

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

Descrição

Hello, I encountered a database migration failure while using gh-ost. The main reason is due to the use of the ASCII character set. The source database is MySQL, while the target database does not support the ASCII character set.

And I check that most temp table like "%_ghc" used contain hint&value in ascii:

q1: why not use utf8 or other charset that cover ascii(latin1,gbk or else)?
q2: can I just simplify use utf8 for hint&value?

 Query	create /* gh-ost */ table `test`.`_b_ghc` (
			id bigint auto_increment,
			last_update timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
			hint varchar(64) charset ascii not null,
			value varchar(4096) charset ascii not null,
			primary key(id),
			unique key hint_uidx(hint)
		) auto_increment=256

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.