Hvordan endre standard maksimale pakker som er tillatt i MySQL

Hvordan endre standard maksimale pakker som er tillatt i MySQL

I MySQL refererer en kommunikasjonspakke eller pakke til en enkelt SQL -setning sendt til en MySQL -server. Det refererer også til en individuell rad som har svart klienten eller binærloggen fra MySQL -serveren.

Dette betyr at hvis enten klienten eller serveren får en pakke som er større enn settet Max_Allow_Packet, returnerer den en "ERR_NET_PACKET_TOO_LARG". Serveren eller klienten kan deretter lukke tilkoblingen.

Denne artikkelen vil demonstrere hvordan du kan endre maksimal pakkestørrelse i både MySQL -klient og MySQL -serveren.

Hva er max_allow_packet?

Max_allow_packet er en øktvariabel som bestemmer antall byte som sendes eller mottatt i en enkelt kommunikasjonspakke.

Kontroller gjeldende maks tillatt pakkestørrelse

Vi kan sjekke den maksimale tillatte pakkestørrelsen ved å få verdiene til MySQL -variabler.

Et eksempel på spørring vises nedenfor:

Vis variabler som 'max_allowed_packet';

Spørringen ovenfor skal returnere den maksimale tillatte pakkestørrelsen i byte som:

| Variabel_navn | Verdi |
| ------------------ | -------- |
| max_allowed_packet | 67108864 |

Eksemplet vårt viser at den nåværende maksimale tillatte pakkestørrelsen er 67108864 byte, eller omtrent 67 MB.

Husk at selv om MySQL lar oss endre den maksimale tillatte pakkestørrelsesverdien, er den største mulige pakkestørrelsen 1 GB.

Endre max_allowed_packet i mysql

Metode 1 - Konfigurasjon av klient- og serversiden

Vi må endre både klienten og konfigurasjonene på serversiden for å øke eller redusere verdien av max_allowed pakkestørrelse.

Dette stammer fra MySQLs bruk av frittstående verdier for både MySQLD og klienten. Derfor viser verdien du får fra showvariablene som 'MAX_ALLOWED_PACKET' -kommandoen til maksimalverdien på serversiden.

For å stille den maksimale verdien på klientsiden, kan vi kjøre kommandoen:

mysql -u root -p -max_allowed_packet = 100m

Kommandoen over setter pakkestørrelsen til 100MB på klientsiden.

Merk at standard maksimal pakke som er tillatt på klientsiden er 16MB.

På serversiden, modifiser pakkestørrelsen som:

mysqld -u root -p -max_allowed_packget = 128m

Merk at Sthe standard maksimal pakke som er tillatt på serversiden er 64MB.

Metode 2 - Server side uten omstart

Hvis du har superrettigheter på serveren, kan du endre verdien på maks -pakken ved å bruke den angitte globale kommandoen som:

Sett global max_allowed_packet = 128 000 000;

Dette øker max_allowed_packGet -verdien til 128MB uten å starte serveren på nytt. Imidlertid krever det superrettigheter.

Metode 3 - Redigering av konfigurasjonsfilen

En annen metode du kan bruke for å øke eller redusere den maksimale tillatte pakken er å redigere konfigurasjonsfilen.

I MySQL -installasjonskatalogen, finn My.INI (Windows) -filen. Som standard er filen lokalisert i C: \ ProgramData \ MySQL \ MySQL Server 8.0

Rediger filen og endre max_allowed_packet -verdien til målstørrelsen.

For eksempel kan vi stille pakkestørrelsen til 128 MB som vist:

Lagre og lukk filen. Start MySQL -tjenesten på nytt for å laste inn den nye konfigurasjonen på nytt.

I Linux må du redigere mysqld.Conf -fil. I de fleste tilfeller er denne filen lokalisert i/etc/mysql/mysqld.konf.d/mysqld.CNF

Tilsvarende rediger og endre max_allowed_packet -størrelsen til ønsket verdi. Tilsvarende start tjenesten på nytt for å laste inn endringene på nytt.

Konklusjon

I denne artikkelen lærte du hva mysql max_allowed_variable er, hvordan du kan sjekke den maksimale tillatte pakkestørrelsen, og forskjellige metoder for å øke eller redusere pakkestørrelsen.