Parodysiu jums, kaip žingsnis po žingsnio naudoti all-inkl duomenų bazė phpMyAdmin, HeidiSQL ir tiesioginių MySQL jungčių prieiga. Tai leidžia struktūrizuotai konfigūruoti prisijungimus, teises ir atsargines kopijas, išvengti prieigos klaidų ir padidinti Apsauga jūsų duomenų.
Centriniai taškai
Prieš pradėdamas apibendrinsiu svarbiausius tikslus, kad galėtumėte viską sekti. Pirmiausia KAS sistemoje sukuriu duomenų bazes ir saugioje vietoje išsaugau visus prieigos duomenis. Tada aktyvuoju "phpMyAdmin", išbandau prisijungimą ir apibrėţiu aiškias teises. Nuotolinei prieigai apriboju autorizaciją iki konkrečių IP adresų ir naudoju saugius slaptažodžius. Galiausiai sukuriu paprastą atsarginių kopijų kūrimo strategiją ir optimizuoju užklausas Veikimas ir stabilumą.
- KAS sąrankaTeisingai sukurti duomenų bazę, naudotoją ir slaptažodį
- phpMyAdminPrisijungimas, eksportas / importas, lentelės priežiūra
- HeidiSQLIšorinė prieiga, didelės atsarginės kopijos
- IP leidiniai: Saugi tikslinė prieiga
- Atsarginės kopijos: Reguliariai kurkite ir testuokite
Patikrinkite išankstines sąlygas ALL-INKL KAS sistemoje
Pirmiausia KAS sistemoje sukuriu naują duomenų bazę ir priskiriu unikalų Vardai be specialiųjų ženklų. Tada sukuriu duomenų bazės naudotoją ir pasirenku stiprų slaptažodį, sudarytą iš ilgų atsitiktinių simbolių. Visus duomenis išsaugau slaptažodžių tvarkyklėje, kad vėliau galėčiau juos greitai pasiekti ir nieko nepamirščiau. Greitai peržiūrai naudoju kompaktišką "MySQL-Guide" su pagrindiniais žingsniais. Taip palaikau švarią bazę ir užtikrinu, kad nebūtų klaidų. Pradžia.
Be to, iš karto po duomenų bazės sukūrimo pasižymiu kompiuterio prievado vardą, prievadą ir KAS priskirtą duomenų bazės pavadinimą. Keliuose projektuose nustatau aiškią pavadinimų logiką (pvz., kundenkürzel_app_env), kad vėliau iš karto galėčiau atpažinti, kam skirta duomenų bazė. Jei dirba keli komandos nariai, į KAS lauką pridedu Komentaras trumpą tikslą, kad būtų išvengta nesusipratimų. Nuo pat pradžių pasirenku simbolių rinkinį utf8mb4 utf8mb4_unicode_ci arba "MySQL 8" variantą), kad specialieji simboliai, emodžiai ir tarptautinis turinys veiktų patikimai. Šis pagrindinis organizavimas pravers vėliau migruojant ir darant atsargines kopijas.
Nustatykite phpMyAdmin prieigą su ALL-INKL
KAS sistemoje atidarau meniu punktą Duomenų bazės ir spusteliu norimo įrašo piktogramą phpMyAdmin, kad atsidarytų prisijungimo puslapis. Prisijungimas veikia su duomenų bazės naudotojo vardu ir slaptažodžiu, o ne su prieglobos skydelio prieigos duomenimis. Arba iškviečiu jūsų domeno URL adresą su /mysqladmin/ ir ten naudoju tuos pačius prisijungimo duomenis. Prisijungęs galiu matyti duomenų bazės apžvalgą, kurti lenteles, keisti laukus ir tikrinti konkrečius duomenų įrašus. Taip galiu atlikti techninę priežiūrą ir greitus koregavimus tiesiogiai Naršyklė be papildomos programinės įrangos.
Kasdieniame gyvenime naudoju skirtuką phpMyAdmin Užklausaišbandyti dažnai naudojamus SQL ir išsaugoti juos kaip mėgstamiausius. Importuodamas atkreipiu dėmesį į parinktis Failo simbolių rinkinys ir Dalinis importasjei ryšys nėra stabilus. Aiškiam eksportui naudoju Išplėstiniai nustatymaisuaktyvinti Struktūra ir duomenys ir DROP IF EXISTSkad atkūrimas veiktų neištuštinant duomenų bazės. Jei programoje svarbūs ryšiai, tikrinu Santykių vaizdas ir išlaikyti svetimus raktus nuoseklius, kad vėlesnės šalinimo ir atnaujinimo operacijos veiktų patikimai.
Išorinė prieiga: saugiai nustatykite IP akcijas
Pagal numatytuosius nustatymus leidžiu prisijungti tik iš paties serverio, kad joks išorinis kompiuteris negalėtų prie jo prisijungti atvirai. Jei noriu dirbti su "HeidiSQL" iš savo kompiuterio, KAS skiltyje "Leidžiami kompiuteriai" įrašau savo fiksuotąjį IP. Keisdamas adresus naudoju saugų maršrutą per VPN su fiksuotu išeinančiu adresu ir taip sumažinu atakos paviršių. Vengiu autorizuoti visus prievadus, nes ši galimybė kelia nereikalingą riziką. Įrankiams palieku atviras duris, tačiau griežtai apsiriboju Pasitikėjimas.
Norėdamas išlikti lankstus, saugau tik laikinus įgaliojimus, o po naudojimo juos vėl ištrinu. Taip sumažinama galimybė atakoms. Jei dirbu kelyje, dokumentuose užfiksuoju šiuo metu bendrai naudojamą IP, kad vėliau galėčiau jį pašalinti. Nustatau komandinio darbo taisykles: Kas turi turėti prieigą, nurodo savo fiksuotąjį IP; vengiu bendrų WLAN ar prieigos taškų administratoriaus prieigai. Taip užkertu kelią tam, kad platesnis IP diapazonas liktų nuolat atviras.
Prisijunkite ir naudokite "HeidiSQL
Savo "Windows" kompiuteryje įdiegiu "HeidiSQL" ir sukuriu naują ryšį, naudodamasis KAS, kuriame nurodomas kompiuterio vardas, vartotojo vardas ir slaptažodis. Paprastai kaip prieglobos kompiuterį pasirenku savo domeną, nes paslaugų teikėjas suteikia prieigą prie "MySQL" egzemplioriaus per jį. Ryšys veikia tik tuo atveju, jei KAS atlaisvinau IP ir nedirbu iš kito ryšio. Man patinka naudoti "HeidiSQL" didelėms atsarginėms kopijoms kurti, nes žiniatinklio sąsajoms netaikomi įkėlimo ir atsisiuntimo apribojimai. Tai leidžia man sklandžiai redaguoti lenteles, eksportuoti konkrečius pogrupius ir taupyti laiką naudojant Importas.
Jei reikia, "HeidiSQL" programoje įjungiu suspaudimą ir aiškiai nustatau simbolių koduotę utf8mb4. Importuodamas didesnius išrašus, dirbu su Paketai (gabalo dydis) ir laikinai išjungti svetimų raktų patikrinimus, kad būtų išvengta sekos konfliktų. Dažnai nustatau prieš importą:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS=0;
SET UNIQUE_CHECKS=0;
PRADĖTI SANDORĮ; Po importo vėl įjungiu patikrinimus ir patvirtinu su :
ĮSIPAREIGOJIMAS;
SET FOREIGN_KEY_CHECKS=1;
SET UNIQUE_CHECKS=1; Jei kartais nutrūksta kasdieniai ryšiai. Keep-Alive ryšio parinktyse. Jei paslaugų teikėjas palaiko "MySQL" TLS/SSL, aktyvuoju šią parinktį "HeidiSQL" ir, jei reikia, importuoju sertifikatą. Tai apsaugo slaptažodžius ir duomenis nuo įrašymo juos perduodant.
Atsarginių kopijų kūrimas ir atkūrimas be nusivylimo
"phpMyAdmin" programoje eksportuoju duomenų bazę per skirtuką "Eksportas" ir išsaugau failą kaip SQL, jei reikia, suspaustą. Importuodamas įkeliu atsarginę kopiją per Importas ir užtikrinu tinkamą simbolių kodavimą, kad umliautai išliktų teisingi. Jei failas viršija serverio ribas, pereinu prie HeidiSQL ir atsarginę kopiją tiesiogiai iš kompiuterio įkeliu į duomenų bazę. Taip pat bent vieną versiją laikau atskiroje atmintyje už serverio ribų, kad iškilus problemoms galėčiau greitai reaguoti. Šis vadovas Išsaugoti duomenų bazękad nepamirščiau jokių veiksmų ir atkūrimas vyktų greitai.
Atsargines kopijas organizuoju pagal aiškią schemą: project_env_YYYYY-MM-DD_HHMM.sql.gz. Taip galėsiu automatiškai rasti paskutinį tinkamą failą. Duomenų bazėms, kurios veikia realiai, planuoju fiksuotus atsarginių kopijų darymo langus ne piko metu. Taip pat šifruoju jautrias atsargines kopijas ir saugau jas atskirai nuo žiniatinklio erdvės. Atkurdamas pirmiausia išbandau visą procesą (importą, prisijungimą prie programos, tipines funkcijas) bandomojoje duomenų bazėje ir tik tada perrašau gyvą duomenų bazę. Taip išvengiama netikėtumų dėl nesuderinamų simbolių rinkinių ar trūkstamų teisių.
Labai didelių atsarginių kopijų atveju išrašus suskirsčiau į kelis failus (pvz., struktūrą atskirai, dideles žurnalo ir istorijos lenteles atskirai) ir importuočiau juos vieną po kito. Tai sumažina trikdžių šalinimą ir pagreitina dalinį atkūrimą. Taip pat dokumentais patvirtinu priklausomybes: Pirmiausia pagrindinius duomenis, po to sandorių duomenis, tada pasirenkamuosius duomenis, pavyzdžiui, talpyklos ar sesijų lenteles.
Klaidų analizė: tikrinimo ir taisymo lentelės
Jei užklausos staiga atrodo lėtos arba meta klaidas, pirmiausia patikrinu susijusias lenteles phpMyAdmin. Pasirenku jas naudodamas atrankos laukus ir tada paleidžiu funkciją Repair, kad ištaisyčiau indeksų ir struktūros problemas. Jei ir tai nepadeda, patikrinu duomenų bazės ir lentelių sugretinimą ir jį sinchronizuoju. Prieš atlikdamas nuodugnesnius įsikišimus, sukuriu naują atsarginę kopiją, kad bet kada galėčiau grįžti prie paskutinės veikiančios versijos. Taip sistemingai sprendžiu tipines duomenų bazių klaidas ir iki minimumo sumažinu riziką, kad Nesėkmės žemas.
Taip pat naudoju LENTELĖS ANALIZĖ ir, jei reikia. LENTELĖS OPTIMIZAVIMAS atnaujinti statistiką ir sutvarkyti fragmentuotas lenteles. Naudodami EXPLAIN Patikrinu problemines užklausas tiesiogiai "phpMyAdmin" ir atpažįstu trūkstamus arba netinkamus indeksus. Sudaro nedidelį pasikartojančių problemų kontrolinį sąrašą: Patikrinkite collation / simbolių rinkinį, patikrinkite indekso aprėptį, išvalykite neteisingus duomenis (NULL / numatytąsias reikšmes), tada spręskite sudėtingesnes konversijas.
Teisės, vaidmenys ir saugumas
Teises suteikiu pagal mažiausio leidimo principą ir užblokuoju rašymo prieigą, jei paslaugai jos nereikia. Prisijungimo informaciją kiekvienai programai saugau atskirai, kad dėl pažeistos programos nekiltų pavojus visiems projektams. Slaptažodžius keičiu nustatytais laiko intervalais ir tvarkau juos patikimoje tvarkyklėje. KAS taip pat apsaugau dviejų veiksnių prisijungimo sistema, nes panelinė prieiga gali apeiti visus kitus apsaugos mechanizmus. Šios pagrindinės taisyklės sustiprina Gynyba ir sumažinti žalą avarijos atveju.
Naudoju atskiras duomenų bazes ir atskirus naudotojus kūrimo, bandomosioms ir gyvoms aplinkoms. Tai leidžia aiškiai atskirti prieigos modelius ir apriboti klaidų sekas. Programose prieigą prie duomenų bazės saugau ne kodo saugykloje, o konfigūracijos failuose arba aplinkos kintamuosiuose už versijų kontrolės ribų. Jei palieku projekto komandą arba pasikeičia atsakomybė, keičiu slaptažodžius ir iš karto ištrinu nebereikalingas IP dalis.
Prieigos metodų palyginimas: phpMyAdmin, HeidiSQL, CLI
Atsižvelgdamas į užduotį, naudoju skirtingus įrankius, kad suderinčiau greitį ir patogumą. Greitiems patikrinimams ir nedideliam eksportui paprastai pakanka prieglobos skydelio žiniatinklio sąsajos. Kai reikia surinkti didelius duomenų kiekius arba ilgai eksportuoti, "HeidiSQL" darbalaukyje turi akivaizdžių pranašumų. Jei aplinka leidžia, skriptus ir automatizavimą paleidžiu per komandinę eilutę. Toliau pateikta apžvalga padės jums pasirinkti tinkamą Įrankiai.
| Įrankis | Prieiga | Stipriosios pusės | Kada naudoti |
|---|---|---|---|
| phpMyAdmin | Naršyklė | Greitai, visur skydelyje | Nedideli pakeitimai, eksportas/importas, lentelių priežiūra |
| HeidiSQL | Stalinis kompiuteris | Didelės atsarginės kopijos, redaktorius, palyginimai | Didelės duomenų bazės, pasikartojančios administratoriaus užduotys |
| CLI (mysql) | Komandinė eilutė | Gali būti automatizuotas, skriptinis | Diegimas, paketinės užduotys, "cron" pagrindu atliekamos užduotys |
ALL-INKL duomenų bazių našumo optimizavimas
Darbą su našumu pradedu nuo užklausų patikrinimo, nes neveiksmingos jungtys arba trūkstami indeksai kainuoja daugiausiai laiko. Tada žiūriu į lentelių dydį ir išvalau senas sesijas, žurnalus ar peržiūros duomenis. Spartinimas taikomosios programos lygmeniu sumažina apkrovos pikus, o tiksliniai indeksai pastebimai sumažina skaitymo apkrovą. Prieš darydamas didelius pakeitimus išmatuoju vykdymo laiką, kad vėliau galėčiau palyginti poveikį ir šalutinius efektus. Šioje apžvalgoje pateikiu kompaktišką praktinių gudrybių rinkinį Duomenų bazės optimizavimaskurį naudoju kaip kontrolinį sąrašą.
Indeksus kuriu sąmoningai: pirmiausia pasirinktinius stulpelius, o dažniems filtrams ir rūšiavimui naudoju kombinuotus indeksus. Puslapių žymėjimui vengiu brangių OFFSET-variantus ir, jei įmanoma, dirbti su diapazono užklausomis naudojant paskutinę rakto reikšmę. Rašymo apkrovą mažinu naudodamas paketines operacijas ir protingus sandorių apribojimus. Jei reikia, skaičiavimus iš SQL perkeliu į programą arba naudoju spartinimo sluoksnius, kad sumažėtų karštieji taškai. Prieš darydamas didžiulius lentelių pakeitimus, išbandau pakeitimus kopijoje ir palyginu išmatuotas vertes.
Integracija su TVS ir programėlėmis
"WordPress" ar parduotuvių sistemose įvesiu duomenų bazės pavadinimą, vartotoją, slaptažodį ir prieglobstį tiksliai taip, kaip nurodžiau KAS. Jei duomenys neteisingi, ryšys iš karto nepavyksta ir programa parodo klaidos pranešimą. Persikeldamas taip pat tikrinu simbolių kodavimą ir domenų kelius, kad URL adresai, specialieji simboliai ir emotikonai būtų rodomi teisingai. Prieš pradėdamas veikti, pirmiausia įkeltas atsargines kopijas importuoju į bandomąją duomenų bazę. Ši rutina padeda išvengti nesėkmių ir užtikrina sklandų veikimą. Diegimai.
Prieglobos įrenginys veikia programoms toje pačioje žiniatinklio erdvėje localhost paprastai būna stabiliausias. Išoriniams įrankiams naudoju KAS nurodytą domeną arba prieglobstį. WordPress sistemoje atkreipiu dėmesį į DB_CHARSET = utf8mb4 ir atitinkantis DB_COLLATE-nustatymas. Jei keičiu domenus ar kelius, atlieku saugią paiešką ir (arba) pakeitimą su serializavimu, kad parinktys ir metaduomenys išliktų nepakitę. Po importo ištuštinu talpyklos įskiepius, kad programa iškart įkeltų naujus duomenis iš duomenų bazės.
Aiškiai apibrėžti simbolių rinkinį, sugretinimą ir saugojimo variklį
Nuosekliai naudoju duomenų bazes ir lenteles utf8mb4kad būtų įtraukti visi simboliai. mišrus darbas (pvz., duomenų bazė utf8mb4, atskiros lentelės latin1) dažnai sukelia rodymo klaidų. Todėl po importo atsitiktine tvarka tikrinu turinį su umliautais arba emotikonais. Kaip saugojimo varikliui man labiau patinka InnoDB dėl sandorių, svetimų raktų ir geresnės avarijų saugos. Senesnius išrašus konvertuoju į "MyISAM" lenteles, nebent programai reikia specifinių "MyISAM" funkcijų.
Greitai išspręskite tipines ryšio klaidas
- Naudotojui uždrausta prieigaPatikrinkite naudotoją ir slaptažodį, nustatykite teisingą prieglobstį (localhost vs. domenas), pridėkite IP leidimą išorinei prieigai.
- Negalima prisijungti prie "MySQL" serverioIP neišlaisvintas arba neteisingas prievadas ir (arba) prievadas. Ryšys iš kito tinklo? Tada atnaujinkite IP KAS.
- "MySQL" serveris dingo (2006)Paketas per didelis arba užtruko. Padalytas išmetimas, max_allowed_packet-Laikykitės apribojimų, importuokite mažesniais blokais.
- Viršytas užrakinimo laukimo laikasBlokuoti lygiagrečiai vykstančius procesus. Importuokite ne piko metu arba koreguokite sandorių ir (arba) partijų dydžius.
Kelių projektų schemų ir teisių projektavimas
Kiekvienam projektui ir aplinkai duomenis atskiriu į atskiras duomenų bazes ir kiekvienai programai priskiriu atskirą naudotoją su minimaliomis teisėmis. Naudoju atskirus naudotojus, neturinčius rašymo teisių, tik skaitymo procesams (ataskaitų teikimas, eksportas). Taip apriboju galimą žalą ir galiu tikslingai blokuoti prieigą, nedarydamas poveikio kitoms sistemoms. Dokumentuoju schemų pakeitimus kaip migracijos scenarijus, kad galėčiau juos pakartotinai įdiegti iš stadijos į realiąją versiją.
Automatizavimas ir pakartojami procesai
Jei aplinka leidžia, reguliariai eksportuoju automatiškai, naudodamasis scenarijais arba "cronjobs", ir nuosekliai pavadinu failus. Į procesą įtraukiu bandomuosius veiksmus (hash, dydis, bandomasis importas), kad galėčiau įvertinti kiekvienos atsarginės kopijos kokybę. Laikausi diegimo sekos: Sukurti atsarginę kopiją, įjungti priežiūros režimą, importuoti schemos pakeitimus, perkelti duomenis, ištuštinti talpyklas, išjungti priežiūros režimą. Ši disciplina padeda sutaupyti laiko atliekant atsarginių kopijų atkūrimą ir išvengti neatitikimų.
Stebėsena ir priežiūra kasdieniame gyvenime
phpMyAdmin aš naudoju sritis Statusas ir Procesaiperžiūrėti vykdomas užklausas. Jei užklausa akivaizdžiai užstringa ir blokuoja kitas, ją specialiai nutraukiu, jei leidimai tai leidžia. Taip pat stebiu didelių lentelių augimą ir planuoju jų archyvavimą arba išvalymą, kol atmintis ir vykdymo laikas dar neperžengė ribų. Programoje registruoju lėtas užklausas ir pažymiu kandidatus, kuriuos reikia optimizuoti indeksus. Nedidelė reguliari priežiūra neleidžia nepastebimai kauptis problemoms.
Trumpa santrauka skubantiems
KAS sistemoje sukuriu duomenų bazę, apsaugau naudotoją ir slaptažodį ir išbandau prisijungimą phpMyAdmin. Nuotolinei prieigai leidžiu naudoti tik pasirinktus IP adresus ir naudoju stiprius slaptažodžius. Didelį eksportą ir importą paleidžiu per "HeidiSQL", kad apeičiau naršyklės apribojimus. Klaidas ištaisau naudodamasis taisymo funkcijomis ir prireikus importuoju atnaujintą atsarginę kopiją. Naudojant aiškius leidimus, reguliarias atsargines kopijas ir keletą greitų optimizavimų, prieiga išlieka saugi ir Veikimas stabilus.


