Cómo modificar el límite máximo del archivo de base de datos de importación MySQL a 2048 KB
Cuando un usuario no root ejecuta MySQL y MySQL está configurado para ejecutarse en un nivel superior, los valores de los parámetros que entran en vigor durante la operación de MySQL son diferentes de los valores configurados, así que analice cómo se ajusta MySQL. estos valores de parámetros.
Este artículo tiene como objetivo explicar cómo MySQL ajusta estos tres parámetros cuando los recursos del sistema son insuficientes. Este artículo cubre tres parámetros open_files_limit, max_connections y table_open_cache. El recurso del sistema asociado con estos tres parámetros es el límite en la cantidad de archivos abiertos, conocido como límite de descriptor de archivo (fd). Parámetros del sistema y descriptores de archivos"-?-Cada conexión MySQL requiere un descriptor de archivo: Cada conexión MySQL requiere un descriptor de archivo;
-?table_open_cache?amp;?fd?Open table Se requiere al menos un descriptor de archivo , por ejemplo, se requieren dos fds para abrir MyISAM;
- El número máximo de archivos abiertos en el sistema se puede ver usando ?ulimit -n para ajustar los parámetros de MySQL.
Calcule request_open_files (descriptores de archivos requeridos) según la configuración (valores de configuración o valores predeterminados de los tres parámetros); 2. Obtenga el valor límite efectivo de Effective_open_files 3. Ajuste request_open_files de acuerdo con Effective_open_files; los request_open_files ajustados, calcula los valores de parámetros efectivos reales (mostrar variables, ver valores de parámetros) Calcular request_open_files: Hay tres fórmulas que se pueden usar para calcular request_open_files: 1. ?// max_connections max_number_of_tables_opened_at_the_same_time otros (varios registros, etc. ) 2. limit_1= max_connections table_cache_size * 2 10; 3. 4.// Supongamos el número promedio de tablas abiertas por conexión (2-4) 5.// El código fuente está escrito así: 6.// Lo estamos intentando para asignar no menos de 7.// max_connections*5 archivos Handle 8.limit_2= max_connections * 5; 9.10.//limit_3= open_files_limit ? open_files_limit: 5000; ?MySQL piensa: ?
MySQL Intente establecer el valor de Effective_open_files lo más grande posible dentro del rango de valores limitado.
Corregir request_open_files
Requested_open_files= min( Effective_open_files,?request_open_files)
Recalcular valores de parámetros
Corregir open_files_ limit
open_files_limit?=?
Corregir max_connections
max_connections?limit = request_open_files - 10 - TABLE_OPEN_CACHE_MIN * 2;
Si el valor de configuración de max_connections es mayor que el límite, el valor de max_connections se corregirá su límite
En caso contrario, el número de conexiones permanecerá en el valor configurado.
Tamaño_cache_tabla correcto
El tamaño_cache_tabla se corregirá según request_open_files. 1. ?// mysql table_cache_size mínimo, 4002.limit1 = TABLE_OPEN_CACHE_MIN3.?// Calcular 4.limit2 = (requested_open_files - 10 - max_connections) / 25.limit = max(limit1, limit2); el valor configurado de table_cache_size es mayor que el límite, el valor de table_cache_size se corregirá para limitar
De lo contrario, table_cache_size conserva el valor configurado
Ejemplo
Los siguientes casos de uso son utilizados por usuarios no root Ejecutar en
Configuración de parámetros:
//mysql
max_connections = 500 ?table_open_cache = 999
//ulimit -n?
1500
Valores válidos:
open_files_limit = 1500 max_connections = min = 500
table_open_cache = (1500 - 10 - 500 ) / 2 = 495