Det er mulig å ha et tilfelle der mange tråder kjører på MySQL-serveren din. Blant disse trådene kan de inaktive forårsake en feil på MySQL-serveren din med mindre du kan se de kjørende prosessene og drepe de du for øyeblikket ikke trenger.
MySQL er en relasjonell DBMS som tilbyr ulike alternativer for brukere å liste opp de kjørende prosessene. Vi vil forklare hvordan du viser de kjørende MySQL-prosessene.
Identifisere MySQL-prosessene
Når du har en MySQL-database på serveren din, kan det hende du må sjekke statusen for å sjekke hvor mye belastning den har. Når du legger merke til forsinkelser eller problemer med ulike spørringer på MySQL-databasen, signaliserer det at du kan ha overdreven og inaktive tråder.
Derfor er det nyttig å forstå hvilke tråder som forårsaker problemer og hvordan du kan minimere belastningen. Med MySQL kan du bruke forskjellige alternativer for å analysere de kjørende prosessene. Vi vil diskutere to alternativer som vil hjelpe å vise MySQL-prosessene.
Metode 1: Via kommandoen Vis prosessliste
Når du får tilgang til MySQL på kommandolinjen, kan du bruke SHOW PROCESSLIST-kommandoen til å vise informasjon om alle de kjørende prosessene på MySQL-serveren. Når den utføres, gir den serveren et øyeblikksbilde av ulike tilkoblinger og deres informasjon som tilstand, tid osv.
Følgende er kommandoen som skal utføres:
VIS PROSESSLISTE;Legg merke til de ulike kolonnene fra utgangen. La oss kort diskutere hver:
- ID – Den viser prosess-IDen til den pågående prosessen. I tilfelle av mange kjørende prosesser, har hver sin unike ID.
- Bruker – Den representerer brukeren som er knyttet til den aktuelle tråden.
- Vert – Den viser verten hvor den aktuelle klienten er tilkoblet. Det er vertsnavnet til den spesifikke klienten som utstedte erklæringen.
- DB – Hvis en database for en bestemt tråd er valgt, vises den under DB-kolonnen. Hvis den viser NULL, er ingen database valgt.
- Kommando – Den viser kommandoen som blir utført av tråden.
- Tid – For den aktuelle tråden forteller denne kolonnen hvor lang tråden er i sin nåværende tilstand.
- Stat – Den viser hvilken tilstand eller hendelse tråden er engasjert i.
- Info – Den viser hvilken uttalelse tråden kjører for øyeblikket.
I dette tilfellet er den forrige utgangen resultatet som vi får fra kommandoen SHOW PROCESSLIST. Resultatet vises i tabellform. Anta at du vil se de samme resultatene, men på en vertikal måte. Du kan bruke følgende kommando i stedet:
VIS PROSESSLISTE\G;Ta eventuelt med [FULL] i kommandoen for å sikre at du ikke går glipp av noen løpende prosess.
Metode 2: Via INFORMATION_SCHEMA.PROCESSLIST-alternativet
MySQL har INFORMATION_SCHEMA.PROCESSLIST-tabellen som inneholder en liste over alle aktive tilkoblinger som går til serveren. Ved å få tilgang til denne tabellen får du detaljene til alle de aktive forbindelsene for å kjenne deres vert, prosess-ID, tilstand, kommando osv. som ligner på det du får med kommandoen SHOW PROCESSLIST.
Her er kommandoen som skal utføres:
VELG * FRA INFORMATION_SCHEMA.PROCESSLIST;Når du har utført kommandoen, får du en utgang som ligner på den i det følgende som viser alle detaljene om MySQL-prosessene:
Hvordan drepe MySQL-løpende prosesser
Anta at du har et problem med de kjørende prosessene. Du kan drepe enhver inaktiv prosess for å redusere lastetiden til serveren din og øke effektiviteten. Den første oppgaven er å identifisere IDen til den aktuelle tråden. Vi har gitt to metoder for å finne IDen til en hvilken som helst tråd.
Når du har IDen, kan du utføre kommandoen 'kill' med følgende syntaks:
KILLNår du har utført kommandoen, vil du få en suksessutgang som viser den berørte raden, og spørringen vil koble fra serveren. Det er hvordan du dreper en MySQL-prosess.
Konklusjon
MySQL tilbyr to måter du kan bruke for å vise de kjørende prosessene. Vi diskuterte begge alternativene, den gitte syntaksen og en eksempelkommando, for å hjelpe deg å forstå MySQL SHOW PROSESSLIST. Likevel har vi sett hvordan du kan drepe en løpende prosess. Forhåpentligvis forstår du nå hvordan MySQL SHOW PROSESSLIST fungerer.