Posso usar a seguinte declaração para desbloquear uma conta:
ALTER USER username ACCOUNT UNLOCK
Mas qual declaração posso usar para verificar se a conta está bloqueada no momento?
Posso usar a seguinte declaração para desbloquear uma conta:
ALTER USER username ACCOUNT UNLOCK
Mas qual declaração posso usar para verificar se a conta está bloqueada no momento?
Eu tenho o MySQL (5.5) na configuração master-slave e criei outro servidor slave.
Parei o slave original, despejei os dados, copiei e reimportei e funcionou bem. Eu anotei o master_log pos do slave original e usei esses comandos para configurá-lo no novo slave
CHANGE MASTER TO MASTER_HOST='<ipaddress>',
MASTER_USER='<username>', MASTER_PASSWORD='<password>',
MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000851',
MASTER_LOG_POS=15824150,
MASTER_CONNECT_RETRY=10;
Quando eu comecei o novo escravo eu consegui
Last_IO_Error: Obteve o erro fatal 1236 do mestre ao ler dados do log binário: 'entrada de evento de log excedida max_allowed_packet; Aumente max_allowed_packet no master'
No entanto, quando eu iniciei o slave original, ele pegou bem e agora está em sincronia.
Então as perguntas:
o valor atual é 16M, como eu sei o quão grande devo ir? (Prefiro evitar tentativa e erro com um servidor de produção).
por que eu preciso aumentar o valor no mestre quando o escravo original lidou bem, o problema realmente pode ser com o novo escravo?
atualizar
Aumentei o max_allowed_packet para 1073741824 como Rolando sugeriu no mestre, escravo antigo e novo escravo, e reiniciei-os ( SET GLOBAL max_allowed_packet = 1073741824;
por algum motivo não pareceu demorar)
agora o último erro de IO é o mesmo de antes, mas agora vejo
Last_SQL_Error: Falha na leitura do log de retransmissão: não foi possível analisar a entrada do evento de log de retransmissão. As possíveis razões são: o log binário do mestre está corrompido (você pode verificar isso executando 'mysqlbinlog' no log binário), o log de retransmissão do escravo está corrompido (você pode verificar isso executando 'mysqlbinlog' no log de retransmissão), um problema de rede, ou um bug no código MySQL do mestre ou escravo. Se você quiser verificar o log binário do mestre ou o log de retransmissão do escravo, poderá saber seus nomes emitindo 'SHOW SLAVE STATUS' neste escravo.
Se eu fizer um mysqlbinlog no arquivo do mestre, ele passará com comandos muito felizes por muito tempo - o arquivo é 722M - se eu fizer isso para o log de retransmissão do escravo, recebo
ERRO: Erro no Log_event::read_log_event(): 'Falha na verificação de integridade', data_len: 38916267, event_type: 69
ERRO: Não foi possível ler a entrada no deslocamento 253: Erro no formato do log ou erro de leitura.
Eu verifiquei as variáveis e as alterações funcionaram no entanto
mysql> mostra variáveis LIKE '%max_allowed_packet%';
no novo escravo mostrou max_allowed_packet
E slave_max_allowed_packet
onde como no mestre só temmax_allowed_packet
então eu fiz uma verificação de versão no mestre:
mysql> show variables LIKE '%version%';
+-------------------------+--------------------------------------+
| Variable_name | Value |
+-------------------------+--------------------------------------+
| innodb_version | 1.1.6 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 5.5.11-log |
| version_comment | MySQL Community Server (GPL) by Remi |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+--------------------------------------+
e no novo escravo
mysql> show variables LIKE '%version%';
+-------------------------+--------------------------------------+
| Variable_name | Value |
+-------------------------+--------------------------------------+
| innodb_version | 5.5.32 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 5.5.32-log |
| version_comment | MySQL Community Server (GPL) by Remi |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+--------------------------------------+
Essas 2 versões estão muito distantes?
Eu tenho que seguir os dados no SQL Server 2008 R2. SQLFiddle
Esquema:
CRIAR TABELA [dbo].[ICFilters]( [ICFilterID] [int] IDENTITY(1,1) NOT NULL, [ParentID] [int] NÃO NULO PADRÃO 0, [FilterDesc] [varchar](50) NÃO NULO, [Ativo] [tinyint] NÃO NULO PADRÃO 1, CONSTRAINT [PK_ICFilters] CHAVE PRIMÁRIA CLUSTERED ( [ICFilterID] ASC ) COM PAD_INDEX = DESLIGADO, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = DESLIGADO, ALLOW_ROW_LOCKS = ATIVADO, ALLOW_PAGE_LOCKS = ATIVADO ) EM [PRIMÁRIO] ) EM [PRIMÁRIO] INSERT INTO [dbo].[ICFilters] (ParentID,FilterDesc,Active) Valores (0,'Tipo de produto',1), (1,'ProdSubType_1',1), (1,'ProdSubType_2',1), (1,'ProdSubType_3',1), (1,'ProdSubType_4',1), (2,'PST_1.1',1), (2,'PST_1.2',1), (2,'PST_1.3',1), (2,'PST_1.4',1), (2,'PST_1.5',1), (2,'PST_1.6',1), (2,'PST_1.7',0), (3,'PST_2.1',1), (3,'PST_2.2',0), (3,'PST_2.3',1), (3,'PST_2.4',1), (14,'PST_2.2.1',1), (14,'PST_2.2.2',1), (14,'PST_2.2.3',1), (3,'PST_2.8',1)
Mesa:
| ICFILTERID | PARENTID | FILTERDESC | ATIVO | -------------------------------------------------- | 1 | 0 | Tipo de produto | 1 | | 2 | 1 | ProdSubType_1 | 1 | | 3 | 1 | ProdSubType_2 | 1 | | 4 | 1 | ProdSubType_3 | 1 | | 5 | 1 | ProdSubType_4 | 1 | | 6 | 2 | PST_1.1 | 1 | | 7 | 2 | PST_1.2 | 1 | | 8 | 2 | PST_1.3 | 1 | | 9 | 2 | PST_1.4 | 1 | | 10 | 2 | PST_1.5 | 1 | | 11 | 2 | PST_1.6 | 1 | | 12 | 2 | PST_1.7 | 0 | | 13 | 3 | PST_2.1 | 1 | | 14 | 3 | PST_2.2 | 0 | | 15 | 3 | PST_2.3 | 1 | | 16 | 3 | PST_2.4 | 1 | | 17 | 14 | PST_2.2.1 | 1 | | 18 | 14 | PST_2.2.2 | 1 | | 19 | 14 | PST_2.2.3 | 1 | | 20 | 3 | PST_2.8 | 1 |
Cada linha tem o ID de seu pai e o parentid = 0
. Os FilterDesc
s são apenas descrições de amostra, então não posso tentar analisá-los para fazer o pedido.
É possível selecionar todas as linhas de maneira semelhante a uma árvore? Se sim, como? Quando digo 'semelhante a uma árvore', quero dizer selecionar recursivamente o pai seguido por todos os seus filhos, depois todos os filhos de cada um deles e assim por diante. Uma travessia da primeira árvore de profundidade.
Meus amigos e eu tentamos, mas ficamos aquém das soluções de trabalho, mas continuaremos tentando. Eu sou bastante novo no sql, então talvez isso possa ser feito facilmente e estou apenas tornando as coisas mais difíceis do que o necessário.
Exemplo de saída (desejada):
| ICFILTERID | PARENTID | FILTERDESC | ATIVO | -------------------------------------------------- | 1 | 0 | Tipo de produto | 1 | | 2 | 1 | ProdSubType_1 | 1 | | 6 | 2 | PST_1.1 | 1 | | 7 | 2 | PST_1.2 | 1 | | 8 | 2 | PST_1.3 | 1 | | 9 | 2 | PST_1.4 | 1 | | 10 | 2 | PST_1.5 | 1 | | 11 | 2 | PST_1.6 | 1 | | 12 | 2 | PST_1.7 | 0 | | 3 | 1 | ProdSubType_2 | 1 | | 13 | 3 | PST_2.1 | 1 | | 14 | 3 | PST_2.2 | 0 | | 17 | 14 | PST_2.2.1 | 1 | | 18 | 14 | PST_2.2.2 | 1 | | 19 | 14 | PST_2.2.3 | 1 | | 15 | 3 | PST_2.3 | 1 | | 16 | 3 | PST_2.4 | 1 | | 20 | 3 | PST_2.8 | 1 | | 4 | 1 | ProdSubType_3 | 1 | | 5 | 1 | ProdSubType_4 | 1 |
Eu tenho que modelar uma situação onde eu tenho uma tabela Chequing_Account (que contém orçamento, número iban e outros detalhes da conta) que tem que estar relacionada a duas tabelas diferentes Pessoa e Corporação que ambas podem ter 0, 1 ou muitas contas correntes.
Em outras palavras, tenho dois relacionamentos de 1 para muitos com a mesma tabela Conta corrente
Gostaria de ouvir soluções para este problema que respeitem os requisitos de normalização. A maioria das soluções que ouvi por aí são:
1) encontre uma entidade comum da qual pertençam tanto Pessoa quanto Corporação e crie uma tabela de links entre esta e a tabela Chequing_Account, isso não é possível no meu caso e mesmo que fosse eu quero resolver o problema geral e não essa instância específica.
2) Crie duas tabelas de link PersonToChequingAccount e CorporationToChequingAccount que relacionem as duas entidades com as Contas Correntes. No entanto, não quero que duas pessoas tenham a mesma conta corrente, e não quero que uma pessoa física e uma corporação compartilhem uma conta corrente! veja esta imagem
3) Crie duas chaves estrangeiras na Conta Corrente que apontam para Corporação e Pessoa Física, no entanto, eu imporia que uma Pessoa e uma Empresa podem ter muitas contas correntes, mas eu teria que garantir manualmente que para cada linha Conta Corrente nem ambas as relações apontem para Pessoa Jurídica e Pessoa Física porque uma conta corrente é de uma pessoa jurídica ou de uma Pessoa Física. veja esta imagem
Existe alguma outra solução mais limpa para este problema?
no SQL Server 2005, fazemos um backup completo semanal com backups incrementais noturnos.
Quero saber se é possível restaurar uma única tabela a partir de um backup, seja para o banco de origem ou para outro.
Não consigo encontrar nenhuma resposta clara online.
Desde já, obrigado.
Estou solucionando os pedaços de um procedimento armazenado com baixo desempenho. Esta seção do procedimento está lançando um aviso NO JOIN PREDICATE
select
method =
case methoddescription
when 'blah' then 'Ethylene Oxide'
when NULL then 'N/A'
else methoddescription
end,
testmethod =
case methoddescription
when 'blah' then 'Biological Indicators'
when NULL then 'N/A'
else 'Dosimeter Reports'
end,
result =
case when l.res is null or l.res <> 1 then 'Failed'
else 'Passed'
end,
datecomplete = COALESCE(CONVERT(varchar(10), NULL, 101),'N/A')
from db2.dbo.view ls
join db1.dbo.table l
on ls.id = l.id
where item = '19003'
and l.id = '732820'
A exibição ( [ls]
) chama um servidor remoto (a consulta remota %41 à direita do plano).
Aqui está uma imagem do plano:
Eu só faço essa pergunta por causa desta postagem no blog e quero ter certeza de que isso não voltará a me incomodar mais tarde.
Eu gostaria de armazenar algumas posições geométricas no meu banco de dados MySQL. Para isso eu uso o tipo de dados POINT. Em quase todos os lugares li que a função GeomFromText
deve ser usada para inserir dados na tabela.
No entanto, descobri que POINT(X,Y)
também funciona. Não encontrei nenhuma descrição por que GeomFromText
deveria ser usado em vez de POINT
.
Por exemplo, tenho a seguinte relação simples:
CREATE TABLE Site (
SiteID BIGINT UNSIGNED,
Position POINT
);
E posso inserir valores usando as duas variantes a seguir:
INSERT INTO Site (
1,
GeomFromText( 'POINT(48.19976 16.45572)' )
);
INSERT INTO Site (
2,
POINT(48.19976, 16.45572)
);
Quando visualizo a tabela ( SELECT * FROM Site
) vejo o mesmo blob binário para o local e quando vejo as coordenadas ( SELECT *, AsText(Position) FROM Site
) também vejo os mesmos valores.
Então, por que GeomFromText deve ser usado? Existem diferenças de desempenho (conhecidas) entre essas duas variantes? Como isso é resolvido em outros sistemas de banco de dados além do MySQL?
No MySQL Workbench, é possível pesquisar um nome de coluna específico em todas as tabelas?
(Escrever a string a ser procurada no campo no canto superior direito não faz nada).
Obrigada.
MySQL 5.1.x | InnoDB | janelas
Meu diretório de dados mysql está começando a se encher de logs bin.
Atualmente tenho as seguintes configurações configuradas no meu servidor mysql do windows:
[mysqld]
log-bin
server-id=1
binlog-do-db=foodb1
binlog-do-db=foodb2
expire_logs_days=25
Estou planejando alterar a configuração expire_logs_days expire_logs_days=10
e devolver o serviço mysql. Quanto tempo depois de fazer essa alteração, posso esperar que os logs antigos sejam apagados.
Isso é feito apenas como parte de uma tarefa programada noturna? Ou isso deve ser imediato?
Nossa replicação estabelecida foi interrompida ("o segmento WAL solicitado já foi removido" durante o tempo de inatividade) Não podemos parar facilmente o mestre novamente.
Nós podemos fazer
pg_start_backup()
,rsync ${PGDATA}/
mestre para escravo,pg_stop_backup()
... enquanto o mestre postgresql ainda está sob carga total? (Ou pg_start_backup()
levará a
Em outras palavras, pg_start_backup()
afetará nossa aplicação?