O MySQL armazena informações sobre várias opções definidas para um banco de dados em diferentes locais, dependendo do tipo de opção e seu escopo. Aqui está um colapso:
1. Opções no nível do banco de dados (configurações específicas para um banco de dados): *
`Information_schema.schemata` tabela: Esta tabela contém informações gerais sobre cada banco de dados (esquema), incluindo:
* `Default_character_set_name`:o conjunto de caracteres padrão para o banco de dados.
* `Default_collation_name`:o agrupamento padrão para o banco de dados.
*
`Mostrar Criar Database` Declaração: Esta instrução exibe a instrução SQL usada para criar o banco de dados, incluindo quaisquer opções específicas definidas no horário de criação. Por exemplo:
`` `SQL
Mostrar Criar Banco de Dados Your_database_name;
`` `
A saída será algo como:
`` `
Crie banco de dados `your_database_name` / *! 40100 Definir caracteres padrão utf8mb4 colate utf8mb4_unicode_ci * /
`` `
Isso mostra o conjunto de caracteres e o agrupamento que foram explicitamente definidos (ou inadimplentes). Ele não mostrará todas as configurações possíveis, mas é crucial para entender a configuração inicial.
*
`mostre variáveis como` declaração: Você pode usar isso para visualizar variáveis globais e de sessão que possam afetar indiretamente um banco de dados. Embora não seja específico do banco de dados diretamente, algumas variáveis relacionadas a conjuntos de caracteres, mecanismos de armazenamento etc. podem ter implicações para o comportamento do banco de dados.
`` `SQL
Mostrar variáveis como 'caractere_set%';
Mostrar variáveis como 'agrupamento de agrupamentos';
`` `
2. Opções no nível da tabela (configurações específicas para uma tabela em um banco de dados): *
`Information_schema.tables` tabela: Esta tabela contém informações gerais sobre tabelas, incluindo:
* `Tabela_collation`:o agrupamento da tabela.
* `Motor`:o mecanismo de armazenamento usado pela tabela (por exemplo, Innodb, Myisam).
* `Tabela_comment`:qualquer comentário associado à tabela.
*
`show criate tabela` declaração: Esta é a maneira mais direta de ver todas as opções definidas para uma tabela específica:
`` `SQL
Mostre a tabela Criar Your_table_name;
`` `
A saída mostrará a instrução FULL 'CREATE TABLE `, incluindo:
* Colunas e seus tipos de dados.
* Índices (chave primária, chaves estrangeiras, índices exclusivos, etc.).
* Restrições (por exemplo, `não null`,` Valores padrão).
* Motor de armazenamento.
* Formato de linha (para Myisam).
* Conjunto de caracteres e agrupamento (se definido explicitamente no nível da tabela, substituindo o padrão do banco de dados).
* Comentários da tabela.
* Informações sobre partição (se a tabela for particionada).
* Valor de incremento automático.
*
`Information_schema.columns` tabela: Esta tabela contém informações sobre cada coluna em uma tabela, incluindo:
* `Column_default`:o valor padrão da coluna.
* `Is_nullable`:se a coluna pode conter valores` null`.
* `Data_type`:o tipo de dados da coluna (por exemplo,` int`, `varchar`).
* `Caractere_set_name`:o caractere definido para a coluna (se for um tipo de string).
* `Collation_name`:o agrupamento da coluna (se for um tipo de string).
* `Column_comment`:qualquer comentário associado à coluna.
*
`Information_schema.key_column_usage` tabela: Esta tabela fornece informações sobre relacionamentos fundamentais estrangeiros.
*
`Information_schema.statistics` tabela: Esta tabela contém informações sobre índices nas tabelas.
3. Opções no nível do servidor (Configurações globais): *
arquivos de configuração (my.cnf/my.ini): Esses arquivos são o local principal para configurar o servidor MySQL. Eles contêm configurações que se aplicam a todos os bancos de dados e tabelas no servidor. As configurações importantes incluem:
* `caracteres-server ':o conjunto de caracteres padrão para o servidor.
* `COLATION-SERVER`:o agrupamento padrão do servidor.
* `innodb_buffer_pool_size`:a quantidade de memória alocada para o pool de buffer innodb.
* `max_connections`:o número máximo de conexões simultâneas permitidas.
* `sql_mode`:define os modos SQL que afetam como o servidor lida com consultas.
*
Opções da linha de comando: Ao iniciar o servidor MySQL, você pode passar as opções de linha de comando que substituem as configurações nos arquivos de configuração.
*
`Mostrar variáveis globais 'Declaração: Esta declaração exibe todas as variáveis globais e seus valores atuais. Esta é uma maneira crucial de ver as configurações do servidor ativo. Por exemplo:
`` `SQL
Mostrar variáveis globais;
Mostrar variáveis globais como 'innodb_%'; -Mostre variáveis relacionadas ao InnoDB
`` `
*
`Mostrar status global` Declaração: Esta instrução mostra as variáveis de status do servidor, que fornecem informações sobre desempenho, conexões e outras atividades do servidor.
4. Opções no nível da sessão (configurações de conexão do cliente): *
`Mostrar variáveis de sessão` Declaração: Esta instrução exibe as variáveis específicas da sessão para a conexão atual do cliente. Essas variáveis podem substituir as variáveis globais durante a duração da sessão.
`` `SQL
Mostrar variáveis de sessão;
Mostrar variáveis de sessão como 'caractere_set%';
`` `
* Declaração
`set`: Você pode usar a instrução `set` para modificar variáveis de sessão.
`` `SQL
Define caractere_set_client ='utf8mb4';
`` `
em resumo: * Use `Show Create Database` para ver as opções de criação no nível do banco de dados.
* Use `Show Create Table` para ver as opções de criação no nível da tabela (e tudo sobre a estrutura de uma tabela).
* Use as tabelas `Information_schema` para metadados estruturados sobre bancos de dados, tabelas e colunas.
* Use `Mostrar variáveis globais` para ver as configurações ativas em todo o servidor.
* Use `Mostrar variáveis de sessão` para ver as configurações específicas para sua conexão atual.
* Verifique os arquivos de configuração do MySQL (my.cnf/my.ini) para obter as configurações do servidor padrão.
Entender onde essas opções são armazenadas e como elas interagem (global vs. sessão vs. banco de dados vs. tabela) é crucial para gerenciar e solucionar seus bancos de dados MySQL. Além disso, lembre -se de que as opções específicas disponíveis e seus valores padrão podem variar dependendo da versão MySQL que você está usando.