Comandos Linux – Comando mysql

Comando Linux mysql

comando mysql

O comando mysql é um shell simples para comandos SQL . Ele pode ser usado interativamente , digitando comandos em um prompt especial ou você pode usá-lo para executar um script em lote contendo seus comandos SQL.

Descrição

Quando o mysql é usado interativamente, os resultados da consulta são apresentados em um formato de tabela. Quando usado de maneira não interativa, o resultado é apresentado em formato separado por tabulação . O formato de saída pode ser alterado usando as opções de comando.

A maneira mais simples de chamar o mysql é especificar o seu nome de usuário do MySQL com a opção -u e dizer ao mysql para solicitar sua senha com -p :

  mysql -u nome de usuário -p

Você verá uma breve mensagem de introdução e será colocado no prompt do mysql> .

No prompt do mysql> , você pode inserir comandos do MySQL, como:

  mysql> MOSTRA BASES DE DADOS;

Para listar os bancos de dados existentes, ou:

  mysql> USE dbname ;

… para começar a usar o banco de dados denominado dbname , ou:

  mysql> SELECT 21 * 2 AS significado_de_vida;

… para exibir o produto matemático de 2 e 21 .

Para finalizar sua sessão mysql e retornar ao prompt do shell, use o comando:

  mysql> QUIT

Executando comandos do MySQL a partir de um script em lote

Em vez de usar o mysql interativamente, você pode executar instruções do MySQL a partir de um arquivo de script . Por exemplo, se você tiver um arquivo de texto chamado mysqlscript.txt contendo comandos do MySQL, um por linha, poderá usar este comando:

  mysql -u nome de usuário -p nome_do_bd <mysqlscript.txt> output.txt

… e depois de solicitar sua senha, o mysql executaria os comandos em mysqlscript.txt no banco de dados db_name , gravando a saída no arquivo output.txt .

Para uma descrição detalhada de como instalar o MySQL no seu sistema e uma visão geral do uso interativo básico do mysql , consulte Uma Introdução ao MySQL .

Sintaxe

  mysql [ opções ] nome_bd

Opções

O mysql suporta as seguintes opções, que podem ser especificadas na linha de comando ou nos grupos [mysql] e [client] de um arquivo de opções.

–Socorro, -? Exiba uma mensagem de ajuda e saia.
–auto-rehash Habilite a rechamada automática. Esta opção está ativada por padrão, o que permite a conclusão do nome do banco de dados, da tabela e da coluna. Use –disable-auto-rehash para desativar o rehashing. Isso faz com que o mysql inicie mais rapidamente, mas você deve emitir o comando rehash se desejar usar a conclusão de nome.

Para completar um nome, digite a primeira parte e pressione Tab. Se o nome não for ambíguo, o mysql o completará. Caso contrário, você pode pressionar Tab novamente para ver os possíveis nomes que começam com o que você digitou até o momento. A conclusão não ocorre se não houver um banco de dados padrão.

–auto-vertical-output Faça com que os conjuntos de resultados sejam exibidos verticalmente se forem muito grandes para a janela atual e, caso contrário, usando o formato tabular normal. (Isso se aplica a declarações terminadas por ; ou \ G. ) Esta opção foi adicionada no MySQL 5.5.3.
–batch, -B Imprima os resultados usando a guia como separador de colunas, com cada linha em uma nova linha. Com esta opção, o mysql não usa o arquivo histórico. O modo de lote resulta em formato de saída nãoabular e escape de caracteres especiais. O escape pode ser desativado usando o modo bruto; veja a descrição para a opção –raw .
–bind-address = endereço_ip Em um computador com várias interfaces de rede, esta opção pode ser usada para selecionar qual interface é empregada ao se conectar ao servidor MySQL. Esta opção é suportada apenas na versão do cliente mysql fornecida com o MySQL Cluster. Não está disponível nas versões padrão do MySQL Server 5.5.
–character-sets-dir = caminho O diretório onde os conjuntos de caracteres estão instalados.
–column-names Escreva os nomes das colunas nos resultados.
–column-type-info, -m Exibir metadados do conjunto de resultados.
–comentários, -c Se os comentários devem ser preservados nas instruções enviadas ao servidor. O padrão é –skip-comments (descartar comentários), habilitar com –comments (preservar comentários).
–compress, -C Compacte todas as informações enviadas entre o cliente e o servidor, se ambas suportarem compactação.
–database = db_name , -D db_name O banco de dados a ser usado. Essa opção é útil principalmente em um arquivo de opções.
–debug [ = debug_options ] , – # [ debug_options ] Escreva um log de depuração . Uma string típica de debug_options é ‘ d: t: o, file_name ‘. O padrão é ‘ d: t: o, / tmp / mysql.trace ‘.
–debug-check Imprima algumas informações de depuração quando o programa sair.
–debug-info, -T Imprima informações de depuração e estatísticas de uso de memória e CPU quando o programa sair.
–default-auth = plugin O plug-in de autenticação do lado do cliente a ser usado.

Esta opção foi adicionada no MySQL 5.5.7.

–default-character-set = charset_name Use charset_name como o conjunto de caracteres padrão para o cliente e a conexão.

Um problema comum que pode ocorrer quando o sistema operacional usa utf8 ou outro conjunto de caracteres de vários bytes é que a saída do cliente mysql está formatada incorretamente, porque esse cliente MySQL usa o conjunto de caracteres latin1 por padrão. Geralmente, você pode corrigir esses problemas usando esta opção para forçar o cliente a usar o conjunto de caracteres do sistema.

–delimiter = str Defina o delimitador de instrução. O padrão é o caractere ponto-e-vírgula (” ; “).
–disable-named-command Desative os comandos nomeados. Use apenas o formulário \ * ou use comandos nomeados apenas no início de uma linha que termina com ponto e vírgula (” ; “). O comando mysql começa com esta opção ativada por padrão. No entanto, mesmo com essa opção, os comandos de formato longo ainda funcionam na primeira linha.
–enable-cleartext-plugin Ative o plug-in de autenticação de texto não criptografado mysql_clear_password . Esta opção foi adicionada no MySQL 5.5.27.
–execute = instrução , instrução -e Execute a instrução e saia. O formato de saída padrão é o produzido com –batch . Com esta opção, o mysql não usa o arquivo histórico.
–force, -f Continue mesmo se ocorrer um erro SQL.
–host = host_name , -h host_name Conecte-se ao servidor MySQL no host especificado.
–html, -H Produzir saída HTML .
–ignore-spaces, -i Ignore os espaços após os nomes das funções. O efeito dessa opção é descrito na discussão para o modo SQL IGNORE_SPACE .
–init-command = str Instrução SQL para executar após conectar-se ao servidor. Se a reconexão automática estiver ativada, a instrução será executada novamente após a reconexão.
–números de linha Escreva números de linha para erros. Desative isso com –skip-line-numbers .
–local-infile [ = { 0 | 1 }] Ative ou desative o recurso LOCAL para LOAD DATA INFILE . Sem valor, a opção ativa LOCAL . A opção pode ser dada como –local-infile = 0 ou –local-infile = 1 para desativar ou ativar explicitamente LOCAL . A ativação de LOCAL não terá efeito se o servidor também não o suportar.
– comandos nomeados, -G Ative os comandos mysql nomeados. Comandos de formato longo são permitidos, não apenas comandos de formato curto. Por exemplo, sair e \ q ambos são reconhecidos. Use –skip-named-command para desativar os comandos nomeados.
–no-auto-rehash, -A Isso tem o mesmo efeito que -skip-auto-rehash . Veja a descrição para –auto-rehash .
– sem sinal sonoro, -b Não apite quando ocorrerem erros.
–no-nomeado-comandos, -g Preterido, use –disable-named-command . –no-named-command foi removido no MySQL 5.5.3.
–no-pager Forma obsoleta de –skip-pager . Veja a opção –pager . –no-pager foi removido no MySQL 5.5.3.
–no-tee Forma obsoleta de – skip-tee . Veja a opção –tee . –no-tee é removido no MySQL 5.5.3.
–um banco de dados, -o Ignore as instruções, exceto aquelas que ocorrem enquanto o banco de dados padrão é aquele nomeado na linha de comandos. Esta opção é rudimentar e deve ser usada com cuidado. A filtragem de instruções é baseada apenas nas instruções USE .

Inicialmente, o mysql executa instruções na entrada porque especificar um banco de dados db_name na linha de comando é equivalente a inserir USE db_name no início da entrada. Então, para cada instrução USE encontrada, o mysql aceita ou rejeita as seguintes instruções, dependendo se o banco de dados nomeado é aquele na linha de comando. O conteúdo das declarações é imaterial.

Suponha que o mysql seja chamado para processar este conjunto de instruções:

  DELETE FROM db2.t2;
 USE db2;
 DROP TABLE db1.t1;
 CRIAR TABELA db1.t1 (i INT);
 USE db1;
 INSERIR EM t1 (i) VALORES (1);
 CRIAR TABELA db2.t1 (j INT);

Se a linha de comando for mysql –force –one-database db1 , o mysql manipulará a entrada da seguinte maneira:

A instrução DELETE é executada porque o banco de dados padrão é db1 , mesmo que a instrução nomeie uma tabela em um banco de dados diferente.

As instruções DROP TABLE e CREATE TABLE não são executadas porque o banco de dados padrão não é db1, mesmo que as instruções nomeiem uma tabela no db1.

As instruções INSERT e CREATE TABLE são executadas porque o banco de dados padrão é db1, mesmo que a instrução CREATE TABLE nomeie uma tabela em um banco de dados diferente.

–pager [ = comando ] Use o comando fornecido para a saída da consulta de paginação. Se o comando for omitido, o pager padrão será o valor da sua variável de ambiente PAGER. Pagers válidos são menos , mais [ cat file name ], e assim por diante. Esta opção funciona apenas no Unix e apenas no modo interativo. Para desativar a paginação, use –skip-pager . Veja Comandos MySQL para mais informações sobre paginação de saída.
–password [ = senha ], -p [ senha ] A senha a ser usada ao se conectar ao servidor. Se você usar o formulário de opção abreviada ( -p ), não poderá ter espaço entre a opção e a senha. Se você omitir o valor da senha após a opção –password ou -p na linha de comando, o mysql solicitará uma.

A especificação de uma senha na linha de comando deve ser considerada insegura. Você pode usar um arquivo de opções para evitar fornecer a senha na linha de comando.

–pipe, -W No Windows, conecte-se ao servidor usando um pipe nomeado. Esta opção se aplica apenas se o servidor suportar conexões de pipe nomeado.
–plugin-dir = caminho O diretório no qual procurar plug-ins. Pode ser necessário especificar esta opção se a opção –default-auth for usada para especificar um plug-in de autenticação, mas o mysql não o encontrar.

Esta opção foi adicionada no MySQL 5.5.7.

–port = port_num , -P port_num O número da porta TCP / IP a ser usada para a conexão.
–prompt = format_str Defina o prompt para o formato especificado. O padrão é mysql> . As seqüências especiais que o prompt pode conter estão descritas na seção Comandos do MySQL .
–protocol = { TCP | SOQUETE | TUBO | MEMÓRIA } O protocolo de conexão a ser usado para se conectar ao servidor. É útil quando os outros parâmetros de conexão normalmente fazem com que um protocolo seja usado diferente daquele que você deseja.
–quick, -q Não armazene em cache cada resultado da consulta, imprima cada linha conforme ela é recebida. Isso pode diminuir a velocidade do servidor se a saída estiver suspensa. Com esta opção, o mysql não usa o arquivo histórico.
–raw , -r Para saída tabular, o “boxe” em torno das colunas permite distinguir um valor da coluna do outro. Para saída nãoabular (como é produzida no modo em lote ou quando a opção –batch ou –silent é fornecida), caracteres especiais são escapados na saída para que possam ser identificados facilmente. Nova linha , guia, NUL e barra invertida são escritos como \ n , \ t , \ 0 e \\ . A opção –raw desativa esse caractere de escape.

O exemplo a seguir demonstra a saída tabular versus não tabular e o uso do modo bruto para desativar o escape:

  mysql
  mysql> SELECT CHAR (92);
  + ---------- +
 |  CHAR (92)
 + ---------- +
 |  \
 + ---------- +
  mysql -s
  mysql> SELECT CHAR (92);
  CHAR (92)
 \\
  mysql -s -r
  mysql> SELECT CHAR (92);
  CHAR (92)
 \
–reconectar Se a conexão com o servidor for perdida, tente reconectar-se automaticamente. Uma única tentativa de reconexão é feita sempre que a conexão é perdida. Para suprimir o comportamento de reconexão, use –skip-reconnect .
–safe-updates, –i-sou-um-manequim, -U Permita apenas as instruções UPDATE e DELETE que especificam quais linhas modificar usando valores-chave. Se você configurou esta opção em um arquivo de opções, poderá substituí-la usando –safe-updates na linha de comando.
–secure-auth Não envie senhas para o servidor no formato antigo (anterior à 4.1.1). Isso evita conexões, exceto para servidores que usam o formato de senha mais recente.
–show-warnings Faça com que os avisos sejam mostrados após cada instrução, se houver algum. Esta opção se aplica ao modo interativo e em lote.
–sigint-ignore Ignore os sinais SIGINT (normalmente o resultado da digitação Control + C).
–silenciosos Modo silencioso. Produza menos produção. Esta opção pode ser dada várias vezes para produzir cada vez menos resultados.

Esta opção resulta em formato de saída não-triangular e escape de caracteres especiais. O escape pode ser desativado usando o modo bruto; veja a descrição para a opção –raw .

–skip-column-names, -N Não escreva nomes de colunas nos resultados.
–skip-line-numbers, -L Não escreva números de linha para erros. Útil quando você deseja comparar arquivos de resultados que incluem mensagens de erro.
–socket = caminho , caminho -S Para conexões com o host local, o arquivo de soquete Unix a ser usado ou, no Windows, o nome do canal nomeado a ser usado.
–ssl * As opções que começam com –ssl especificam se o servidor deve ser conectado usando SSL e indicam onde encontrar as chaves e certificados SSL.
–tabela, -t Exibe a saída no formato de tabela. Essa opção é o padrão para uso interativo, mas pode ser usada para produzir saída de tabela no modo em lote.
–tee = nome_do_arquivo Anexe uma cópia da saída ao arquivo fornecido. Esta opção funciona apenas no modo interativo. A seção chamada “MYSQL COMMANDS” discute mais os arquivos tee.
–unfuffered, -n Lave o buffer após cada consulta.
–user = nome_do_usuário , -u nome_do_usuário O nome de usuário do MySQL a ser usado ao se conectar ao servidor.
–verbose, -v Modo verboso. Produza mais informações sobre o que o programa faz. Esta opção pode ser dada várias vezes para produzir cada vez mais resultados. (Por exemplo, -v -v -v produz o formato de saída da tabela mesmo no modo em lote.)
–version, -V Exibir informações da versão e sair.
–vertical, -E Imprimir linhas de saída da consulta verticalmente (uma linha por valor da coluna). Sem essa opção, você pode especificar uma saída vertical para instruções individuais encerrando-as com \ G.
–wait, -w Se a conexão não puder ser estabelecida, aguarde e tente novamente em vez de interromper.
–xml, -X Produzir saída XML. Veja o manual do mysql para mais informações.

Comandos do MySQL

O mysql envia cada instrução SQL que você emitir para o servidor a ser executado. Observe que todos os comandos de texto devem estar primeiro online e terminar com ‘ ; 

Há também um conjunto de comandos que o próprio mysql interpreta. Para obter uma lista desses comandos, digite help ou \ h no prompt mysql> :

? \? ) Sinônimo de ‘ajuda’.
Claro \ c ) Comando Limpar.
conectar \ r ) Reconecte-se ao servidor. Argumentos opcionais são db e host.
delimitador \ d ) Definir delimitador de instrução.
editar \ e ) Edite o comando com $ EDITOR.
ego \ G ) Envie o comando para o servidor mysql, exiba o resultado verticalmente.
Saída \ q ) Saia do mysql. O mesmo que sair.
vai \ g ) Envie o comando para o servidor mysql.
Socorro \ h ) Mostre esta ajuda.
nopager \ n ) Desative o pager, imprima em stdout.
notee \ t ) Não escreva em arquivo externo.
pager \ P ) Defina PAGER [para_pagador]. Imprima os resultados da consulta via PAGER.
impressão \ p ) Imprimir comando atual.
pronto \ R ) Mude seu prompt do mysql,
Sair \ q ) Saia do mysql.
refazer \ # ) Reconstrua o hash de conclusão.
fonte \. ) Execute um arquivo de script SQL. Leva um nome de arquivo como argumento.
status \ s ) Obtenha informações de status do servidor.
sistema \! ) Execute um comando do shell do sistema.
tee \ T ) Defina outfile [to_outfile]. Acrescente tudo no arquivo especificado.
usar \ u ) Use outro banco de dados. Leva o nome do banco de dados como argumento.
charset \ C ) Mude para outro conjunto de caracteres. Pode ser necessário para processar o log de bin com conjuntos de caracteres de vários bytes.
avisos \ W ) Mostrar avisos após cada declaração.
nenhum aviso \ w ) Não mostre avisos após cada declaração.

Exemplos

Para uma descrição detalhada da instalação do MySQL e uma visão geral dos comandos básicos, consulte Uma Introdução ao MySQL .

A seguir estão alguns outros comandos notáveis:

  mysqldump -u esperança -p -h localhost hope_SMF> smf.sql

Faça backup do banco de dados “hope_SMF” no arquivo smf.sql após a verificação do nome de usuário e senha.

  mysql> status

A execução do status no prompt mysql> forneceria resultados de status do MySQL semelhantes aos mostrados abaixo.

  --------------
 mysql Ver 14.14 Distrib 5.5.35, para debian-linux-gnu (i686) usando o readline 6.2
 Identificação da conexão: 42
 Banco de dados atual:	
 Usuário atual: hope@localhost
 SSL: não está em uso
 Pager atual: stdout
 Usando outfile: ''
 Usando delimitador:;
 Versão do servidor: 5.5.35-0ubuntu0.13.10.2 (Ubuntu)
 Versão do protocolo: 10
 Conexão: host local via soquete UNIX
 Conjunto de caracteres do servidor: latin1
 Conjunto de caracteres db: latin1
 Conjunto de caracteres do cliente: utf8
 Conjunto de caracteres de conexão: utf8
 Soquete UNIX: /var/run/mysqld/mysqld.sock
 Tempo de atividade: 2 horas 3 min 4 seg
 Tópicos: 1 Perguntas: 577 Consultas lentas: 0 Abre: 421 Tabelas niveladas: 1 Tabelas abertas: 41 Consultas por segundo avg média: 0,078
 --------------

myisamchk – Verifica, repara, otimiza ou busca informações sobre um banco de dados MySQL.
mysqldump – Uma ferramenta para fazer backup ou transferir bancos de dados MySQL.

Categorias
Compartilhe esse post

Posts populares

Linux Force Security Cursos de linux e segurança da informação

Seu futuro na tecnologia começa agora! Não deixe essa chance escapar.