MySQL: Trikčių šalinimas

Dažniausios MySQL problemos ir sprendimai

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti MySQL cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Neriboti prisijungimai ir perdavimai.
  • Įtraukta phpMyAdmin žiniatinklio sąsaja.
  • Lengvi atnaujinimai vienu paspaudimu.
  • Optimali veikla ir tvirta sauga, užtikrinama privačia ir dedikuota VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: užtrunka tik 5 minutes išbandyti Stackhero MySQL cloud hosting sprendimą!

Jei susiduriate su laiko limitais naudojant phpMyAdmin, tai gali būti dėl didelio duomenų kiekio tvarkymo. Kadangi phpMyAdmin veikia su PHP, jis gali sunkiai apdoroti ilgas užklausas ar didelius duomenų eksportus. Norėdami valdyti sudėtingesnes užklausas, galite apsvarstyti galimybę naudoti MySQL komandinės eilutės sąsają arba ne internetinį klientą.

MySQL 8 pagal numatytuosius nustatymus naudoja caching_sha2_password autentifikavimo sistemą. Dirbant su senesnėmis klientų bibliotekomis, galite susidurti su klaida: "Authentication plugin 'caching_sha2_password' cannot be loaded". Norėdami tai išspręsti, galite pakeisti numatytąjį autentifikavimo metodą į MySQL natūralų slaptažodį.

Jūsų Stackhero valdymo skydelyje eikite į MySQL konfigūracijos skyrių ir pasirinkite "MySQL native password" kaip autentifikavimo įskiepį. Šis nustatymas paveiks root vartotoją ir visus naujai sukurtus vartotojus.

Esamiems vartotojams (išskyrus root vartotoją) galite vykdyti šias komandas naudodami MySQL komandinės eilutės sąsają arba phpMyAdmin:

USE mysql;
ALTER USER '<userToUpdate>'@'%' IDENTIFIED WITH mysql_native_password BY '<userPassword>';
FLUSH PRIVILEGES;

Jei susiduriate su klaida "ERROR 2026 (HY000): SSL connection error: unknown error number", tai dažnai rodo, kad jūsų klientas nepalaiko modernių TLS versijų. Stackhero MySQL instancijos yra sukonfigūruotos palaikyti tik naujausius TLS protokolus ir šifrus, siekiant užtikrinti didesnį saugumą.

Ši klaida gali atsirasti, jei jūsų klientas bando naudoti TLS v1.1, kuris yra pasenęs ir nepalaikomas modernių MySQL ir MariaDB versijų. Norėdami išspręsti šią problemą, gali tekti atnaujinti savo MySQL klientą į versiją, kuri palaiko naujausius TLS protokolus.

Jei netyčia pakeisite leidimus, pakeisite slaptažodį arba ištrinsite "root" vartotoją, galite iš naujo paleisti savo MySQL instanciją. Tai automatiškai atkūrė root vartotoją su teisingu slaptažodžiu ir leidimais.

Kai duomenys ištrinami iš MySQL lentelės, disko vieta, kurią jie užėmė, nėra iš karto atkurta. Norėdami atgauti šią vietą, galite vykdyti šią komandą:

OPTIMIZE TABLE <table>;

Šis procesas sukuria laikiną lentelę, perkelia duomenis į ją ir tada pakeičia originalią lentelę. Optimizavimo proceso metu lentelė bus užrakinta ir laikinai nepasiekiama. Užrakinimo trukmė ir bendras reikalingas laikas priklauso nuo lentelės dydžio. Kadangi ši operacija yra išteklių reikalaujanti, patartina ją planuoti mažo serverio aktyvumo laikotarpiais, kad būtų sumažintas poveikis našumui ir prieinamumui.