error-establishing-database-connection

Kā novērst datubāzes savienojuma kļūdu WordPress

Ja esat pavadījis diezgan ilgu laiku internetā, iespējams, esat saskāries ar šo kļūdu vismaz pāris reizes. Datu bāzes savienojuma kļūda ir viena no tām lāstiem, kas var rasties dažādu iemeslu dēļ. WordPress iesācējam tā ir īsta problēma, it īpaši, ja kļūda parādās pati no sevis.

Līdzīga kļūda parādījās arī mūsu vietnē. Mums vajadzēja nedaudz vairāk par 20 minūtēm, lai atrastu un novērstu problēmu. Šajā rakstā mēs parādīsim, kā novērst datu bāzes savienojuma kļūmes kļūdu pakalpojumā WordPress, apkopojot risinājumu sarakstu vienuviet.

Piezīme. Pirms izmaiņu veikšanas datubāzē izveidojiet nepieciešamās dublējumkopijas.

Kāpēc rodas kļūda?

 

Īsāk sakot, šī kļūda rodas tāpēc, ka WordPress nevar izveidot savienojumu ar datubāzi. Ir dažādi iemesli, kāpēc tas neizdodas. Varbūt jūsu datubāzes pieteikšanās vārds un parole ir nepareizi vai ir mainīti. Varbūt jūsu datubāzes serveris nereaģē. Varbūt datubāzes faili ir bojāti. Pēc mūsu pieredzes, lielāko daļu kļūdu izraisa kāda veida servera kļūdas, lai gan pastāv arī citi faktori. Apskatīsim, kā novērst šo problēmu.

Vai tā pati kļūda rodas arī /wp-admin/?

 

Vispirms jāpārliecinās, ka gan lietotāja saskarnē, gan serverī (wp-admin) rodas viena un tā pati kļūda. Ja abās lapās kļūdas ziņojums ir vienāds — “Error establishing a database connection”, — varat pāriet pie nākamās darbības. Ja wp-admin lapā tiek parādīta cita kļūda, piemēram, “One or more database tables are unavailable. The database may need to be repaired”, – tad ir jālabo datubāze.

To var izdarīt, pievienojot šādu rindiņu savam wp-config.php failam. Pievienojiet to pirms rindas ‘That’s all, stop editing! Happy blogging’ wp-config.php failā:

define('WP_ALLOW_REPAIR', true); 

Kad tas būs izdarīts, šajā lapā varēsiet redzēt iestatījumus:

 

wprepairdb

 

Atcerieties, ka lietotājam nav jāpiesakās, lai piekļūtu šai funkcijai, ja vien šī definīcija ir pieejama. Tas ir tāpēc, ka tās galvenais mērķis ir labot bojātu datu sistēmu. Lietotāji bieži vien nevar pieteikties, ja datubāze ir bojāta. Tāpēc, kad esat pabeidzis datubāzes labošanu un optimizēšanu, noteikti noņemiet šo rindiņu no wp-config.php. Ja tas neatrisina problēmu vai ja nevarat veikt šo darbību, lasiet tālāk — jums varētu derēt cita metode.

WP-Config faila pārbaude

 

WP-Config.php, iespējams, ir vissvarīgākais fails visā WordPress instalēšanas procesā. Šeit varat iestatīt WordPress iestatījumus un izveidot savienojumu ar datubāzi. Ja esat mainījis root paroli vai datubāzes paroli, jums būs jāmaina arī šis fails. Vienmēr vispirms pārbaudiet failu wp-config.php, lai redzētu, vai nav veiktas kādas izmaiņas.

define('DB_NAME', 'database-name');<br />define('DB_USER', 'database-username');<br />define('DB_PASSWORD', 'database-password');<br />define('DB_HOST', 'localhost');

Atcerieties, ka DB_Host vērtība ne vienmēr būs localhost. Tā atšķirsies atkarībā no hostinga pakalpojuma sniedzēja. Populāriem hostinga pakalpojumu sniedzējiem, piemēram, HostGator, BlueHost, Site5, tā ir localhost.

Lai noskaidrotu precīzu DB_Host vērtību, ielogojieties savā hostinga kontā (piemēram, cPanel vai Plesk), atveriet sadaļu “MySQL Databases” un pārbaudiet, kāds ir norādītais hosta nosaukums. Ja informācija nav skaidri redzama, droši sazinieties ar hostinga atbalsta dienestu.

Daži cilvēki apgalvo, ka viņiem izdevās novērst problēmu, mainot localhost uz IP. Šāda situācija bieži rodas, palaižot WordPress lokālajā serverī. Piemēram, MAMP vidē DB_Host vērtības maiņa uz IP var palīdzēt.

define('DB_HOST', '127.0.0.1:8889');

IP atšķirsies atkarībā no tīmekļa hostinga.

Ja šajā failā nav kļūdu (pārbaudiet, vai nav drukas kļūdu), visticamāk, kaut kas nav kārtībā ar serveri.

Pārbaudiet savu hostingu (MySQL Server)

 

Bieži vien šī datubāzes savienojuma kļūda tiek pamanīta, kad vietnei ir palielināta datplūsma. Jūsu hostinga serveris vienkārši nevar tikt galā ar pieplūdumu (īpaši, ja izmantojat koplietotu hostingu). Jūsu vietne ievērojami palēnināsies un dažiem lietotājiem tiks parādīta kļūda. Tāpēc labākais, ko varat darīt, ir sazināties ar savu hostinga pakalpojumu sniedzēju pa tālruni vai tiešsaistes tērzēšanā un pajautāt, vai jūsu MySQL serveris darbojas.

 

Tiem no jums, kas vēlas paši pārbaudīt MySQL serveri, varat rīkoties šādi. Pārbaudiet, vai tāda pati problēma rodas citās vietnēs tajā pašā serverī. Ja tur parādās tāda pati kļūda, problēma noteikti ir MySQL serverī. Ja jums nav citas vietnes tajā pašā hostinga kontā, vienkārši piesakieties cPanel un mēģiniet piekļūt phpMyAdmin un izveidot savienojumu ar datubāzi. Ja nevarat izveidot savienojumu, pārliecinieties, vai jūsu datubāzes lietotājam ir atbilstošas ​​atļaujas. Izveidojiet jaunu failu ar nosaukumu testconnection.php un ielīmējiet tajā šādu kodu:

$link = mysql_connect('localhost', 'root', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);

Pārliecinieties, ka esat nomainījis lietotājvārdu un paroli. Ja varat izveidot savienojumu, tad jūsu lietotājam ir atbilstošas ​​atļaujas, un problēma ir kaut kur citur. Atgriezieties wp-config failā un pārbaudiet, vai viss ir pareizi (vēlreiz pārbaudiet, vai nav drukas kļūdu).

Ja nevarat izveidot savienojumu ar datubāzi, izmantojot phpMyAdmin, varat būt pārliecināts, ka problēma ir serverī. Tas nenozīmē, ka jūsu MySQL serveris nedarbojas. Iespējams, ka jūsu lietotājam nav atbilstošas ​​piekļuves.

Mūsu gadījumā MySQL serveris darbojās. Visas mūsu vietnes serverī darbojās pareizi, izņemot vienu. Mēģinot pieteikties phpMyAdmin, parādījās šāda kļūda:

#1045 – Access denied for user ‘foo’@’%’ (using password: YES)

Mēs piezvanījām HostGator, un viņu atbalsta dienests ātri atrada problēmu. Kaut kādā veidā mūsu lietotāja piekļuve tika atiestatīta. Mēs nezinām, kā tas notika, bet tas acīmredzami bija iemesls. Viņi atjaunoja piekļuvi, un mēs varējām atjaunot vietnes darbību.

Tātad, ja, pieslēdzoties phpMyAdmin vai izmantojot testconnection.php rezultātus, rodas piekļuves kļūda, nekavējoties sazinieties ar savu hostinga uzņēmumu — viņiem vajadzētu būt iespējai to novērst.

Alternatīvi risinājumi

Svarīga atruna: šie risinājumi var jums nederēt. Izmantojiet tos uz savu atbildību un veiciet nepieciešamās dublējumkopijas gadījumam, ja kaut kas noiet greizi.

Viens lietotājs ziņoja, ka viņa klientam radās kļūda, kas saistīta ar datubāzi. Pat pēc datubāzes atjaunošanas kļūda nepazuda. Viņš izmēģināja daudzas lietas, bet galu galā problēma tika atrasta vietnes URL. Tas tika mainīts, kā rezultātā radās šī kļūda. Viņš palaidis SQL vaicājumu phpMyAdmin:

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

Pārliecinieties, ka YOUR_SITE_URL ir mainīts uz derīgu URL, piemēram: https://coma.lv. wp_ opcijas būs atkarīgas no tā, vai esat mainījis noklusējuma WordPress datubāzes prefiksu.

 

Viņa un vairāku citu gadījumā šī metode novērsa kļūdu.

 

Cits lietotājs teica, ka viņam izdevās izveidot savienojumu ar datubāzi, izmantojot testconnection.php, tāpēc viņš nomainīja wp-config.php lietotāju uz root lietotāju. WordPress sāka darboties lieliski. Pēc tam viņš atgrieza iestatījumus datubāzes lietotājam. Viņš nevarēja saprast, kāda ir problēma, bet viņš domā, ka tā bija drukas kļūda.

 

Cita lietotāja ziņoja, ka viņa no wp_options tabulas ir noņēmusi active_plugins saturu un rediģējusi nesen rediģēto saturu. Šķiet, ka tas atrisināja problēmu.

Daudzi avoti apgalvo, ka lietotājiem izdevās novērst šo kļūdu, vienkārši lejupielādējot jaunu WordPress versiju.

Šī ir ļoti kaitinoša kļūda. Ko jūs mēģinājāt, kas jums palīdzēja? Mēs labprāt paplašinātu šo rakstu, lai citiem būtu vieglāk atrast risinājumu.


 

Mūsu specializācija ir WordPress vietņu izstrāde un atbalsts. Sazinieties ar mums, lai saņemtu bezmaksas konsultāciju. — [email protected], +371 29394520

 


0 atbildes

Atbildēt

Vai vēlaties pievienoties diskusijai?
Jūtieties brīvi sniegt savu ieguldījumu!

Atbildēt