1. Opciones a nivel de base de datos (configuración específica para una base de datos):
* `información_schema.schemata` Tabla: Esta tabla contiene información general sobre cada base de datos (esquema), que incluye:
* `Default_character_set_name`:el conjunto de caracteres predeterminado para la base de datos.
* `Default_collation_name`:la recopilación predeterminada para la base de datos.
* `Show Create Database` Declaración: Esta declaración muestra la instrucción SQL utilizada para crear la base de datos, incluidas las opciones específicas establecidas en el momento de la creación. Por ejemplo:
`` `SQL
Show Crear base de datos Your_Database_Name;
`` `` ``
La salida se verá como:
`` `` ``
Crear base de datos `your_database_name` / *! 40100 Conjunto de caracteres predeterminado UTF8MB4 COLLATE UTF8MB4_UNICODE_CI * /
`` `` ``
Esto muestra el conjunto de caracteres y la recopilación que se establecieron explícitamente (o predeterminados). No mostrará todas las configuraciones posibles, pero es crucial para comprender la configuración inicial.
* `Mostrar variables como 'Declaración: Puede usar esto para ver variables globales y de sesión que pueden afectar indirectamente una base de datos. Si bien no es específica de la base de datos, algunas variables relacionadas con conjuntos de caracteres, motores de almacenamiento, etc., pueden tener implicaciones para el comportamiento de la base de datos.
`` `SQL
Mostrar variables como 'caracteres_set%';
Mostrar variables como 'Collation%';
`` `` ``
2. Opciones a nivel de tabla (configuración específica para una tabla dentro de una base de datos):
* `información_schema.tables` Tabla: Esta tabla contiene información general sobre tablas, incluidas:
* `Table_collation`:la recopilación de la tabla.
* `Motor`:el motor de almacenamiento utilizado por la mesa (por ejemplo, innodb, myisam).
* `Table_comment`:cualquier comentario asociado con la tabla.
* `Show Create Table` Declaración: Esta es la forma más directa de ver todas las opciones establecidas para una tabla específica:
`` `SQL
Show Crear tabla your_table_name;
`` `` ``
La salida mostrará la instrucción 'Crear Tabla', que incluya:
* Columnas y sus tipos de datos.
* Índices (clave primaria, claves extrañas, índices únicos, etc.).
* Restricciones (por ejemplo, `no NULL`, valores` predeterminado`).
* Motor de almacenamiento.
* Formato de fila (para Myisam).
* Conjunto de caracteres y recopilación (si se establece explícitamente en el nivel de la tabla, anulando la base de datos predeterminada).
* Comentarios de la tabla.
* Información de partición (si la tabla está dividida).
* Valor de incremento automático.
* `información_schema.columns` Tabla: Esta tabla contiene información sobre cada columna en una tabla, que incluye:
* `Column_default`:el valor predeterminado para la columna.
* `Is_nullable`:si la columna puede contener valores` null`.
* `Data_type`:el tipo de datos de la columna (por ejemplo,` int`, `varchar`).
* `Caracteres_set_name`:el conjunto de caracteres para la columna (si es un tipo de cadena).
* `Collation_name`:la recopilación de la columna (si es un tipo de cadena).
* `Column_comment`:cualquier comentario asociado con la columna.
* `información_schema.key_column_usage` Tabla: Esta tabla proporciona información sobre las relaciones con la clave extranjera.
* `información_schema.statistics` Tabla: Esta tabla contiene información sobre índices en tablas.
3. Opciones a nivel de servidor (configuración global):
* Archivos de configuración (my.cnf/my.ini): Estos archivos son la ubicación principal para configurar el servidor MySQL. Contienen configuraciones que se aplican a todas las bases de datos y tablas en el servidor. La configuración importante incluye:
* `caracteres-set-server`:el conjunto de caracteres predeterminado para el servidor.
* `COLLACIÓN-SERVER`:la recopilación predeterminada para el servidor.
* `innodb_buffer_pool_size`:la cantidad de memoria asignada al grupo de búfer innoDB.
* `max_connections`:el número máximo de conexiones concurrentes permitidas.
* `sql_mode`:define los modos SQL que afectan cómo el servidor maneja consultas.
* Opciones de línea de comandos: Al iniciar el servidor MySQL, puede aprobar opciones de línea de comandos que anulen la configuración en los archivos de configuración.
* `Show Global Variables` Declaración: Esta declaración muestra todas las variables globales y sus valores actuales. Esta es una forma crucial de ver la configuración del servidor activo. Por ejemplo:
`` `SQL
Mostrar variables globales;
Mostrar variables globales como 'innodb_%'; -Mostrar variables relacionadas con innodb
`` `` ``
* `Show Global Status` Declaración: Esta declaración muestra las variables de estado del servidor, que proporcionan información sobre el rendimiento, las conexiones y otras actividades del servidor.
4. Opciones a nivel de sesión (configuración de conexión del cliente):
* `Show Session Variables` Declaración: Esta declaración muestra las variables específicas de la sesión para la conexión del cliente actual. Estas variables pueden anular las variables globales durante la duración de la sesión.
`` `SQL
Mostrar variables de sesión;
Mostrar variables de sesión como 'caracteres_set%';
`` `` ``
* `set` declaración: Puede usar la instrucción 'set` para modificar las variables de sesión.
`` `SQL
Establecer caracteres_set_client ='utf8mb4';
`` `` ``
En resumen:
* Use `Show Crear base de datos` para ver las opciones de creación a nivel de base de datos.
* Use `show create table` para ver las opciones de creación a nivel de tabla (y todo sobre la estructura de una tabla).
* Use tablas `Information_schema` para metadatos estructurados sobre bases de datos, tablas y columnas.
* Use `Mostrar variables globales` para ver la configuración activa de todo el servidor.
* Use `Mostrar variables de sesión` para ver la configuración específica para su conexión actual.
* Verifique los archivos de configuración MySQL (my.cnf/my.ini) para obtener la configuración de servidor predeterminada.
Comprender dónde se almacenan estas opciones y cómo interactúan (Global versus Session vs. Database versus Table) es crucial para administrar y solucionar problemas de sus bases de datos MySQL. Además, recuerde que las opciones específicas disponibles y sus valores predeterminados pueden variar según la versión MySQL que esté utilizando.