Korjaus: VIRHE 2003 (HY000): Ei voi muodostaa yhteyttä MySQL-palvelimeen osoitteessa '127.0.0.1' (111)


Tämän opetusohjelman tarkoituksena on selittää tarvittavat vaiheet ongelman "VIRHE 2003 (HY000): Ei voi muodostaa yhteyttä MySQL-palvelimeen 127.0.0.1" (111) ratkaisemiseksi, mikä saattaa ilmetä, kun yrität käyttää MySQL-tietokantapalvelinta.

Ennen kuin siirryt pidemmälle, jos olet uusi MySQL/MariaDB-käyttäjä, sinun kannattaa oppia MySQL/MariaDB aloittelijoille – Osa 1 ja 20 MySQL (Mysqladmin) -komennot tietokannan hallintaan Linux samoin.

Toisaalta, jos olet jo keskitason/kokenut MySQL-käyttäjä, voit hallita nämä 15 hyödyllistä MySQL/MariaDB suorituskyvyn viritys- ja optimointivinkkiä.

Huomaa: Tässä opetusohjelmassa oletetaan, että olet jo asentanut mysql-tietokantapalvelimen.

Palatakseni aiheeseen, mitkä ovat tämän virheen mahdollisia syitä?

  1. Verkkovirhe varsinkin jos mysql-tietokantapalvelin on käynnissä etäisännässä.
  2. Mikään mysql-palvelin ei ole käynnissä mainitulla isännällä.
  3. Palomuuri estää TCP-IP-yhteyden tai muut asiaan liittyvät syyt.

Alla on tärkeimmät vaiheet sen käsittelemiseksi.

1. Jos tietokantapalvelin on etäkoneessa, yritä testata asiakas-palvelin-yhteys käyttämällä ping-komentoa, esimerkiksi:

ping server_ip_address

Kun yhteys on luotu, käytä alla olevaa ps-komentoa, joka näyttää tietoja aktiivisten prosessien valinnasta, yhdessä pipe- ja grep-komennon kanssa tarkistaaksesi, että mysql-demoni on käynnissä järjestelmässäsi.

ps -Af | grep mysqld

missä vaihtoehto:

  1. -A – aktivoi kaikkien prosessien valinnan
  2. -f – mahdollistaa täyden muodon listauksen

Jos edellisestä komennosta ei ole tulosta, käynnistä mysql-palvelu seuraavasti:

sudo systemctl start mysql.service
sudo systemctl start mariadb.service
OR
sudo /etc/init.d/mysqld start

Kun olet käynnistänyt mysql-palvelun, yritä käyttää tietokantapalvelinta:

mysql -u username -p -h host_address  

2. Jos saat edelleen saman virheen, määritä portti (oletus on 3306), jota mysql-daemon kuuntelee suorittamalla netstat-komento.

netstat -lnp | grep mysql

missä vaihtoehdot:

  1. -l – näyttää kuunteluportit
  2. -n – mahdollistaa numeeristen osoitteiden näyttämisen
  3. -p – näyttää PID:n ja pistokkeen omistavan ohjelman nimen

Käytä siksi vaihtoehtoa -P määrittääksesi portin, jonka näet yllä olevasta lähdöstä, kun käytät tietokantapalvelinta:

mysql -u username -p -h host_address -P port

3. Jos kaikki yllä olevat komennot suoritetaan onnistuneesti, mutta näet silti virheilmoituksen, avaa mysql-määritystiedosto.

vi /etc/mysql/my.cnf
OR
vi /etc/mysql/mysql.conf.d/mysqld.cnf 

Etsi alla oleva rivi ja kommentoi se #-merkillä:

bind-address = 127.0.0.1 

Tallenna tiedosto ja poistu, käynnistä mysql-palvelu sen jälkeen uudelleen näin:

sudo systemctl start mysql.service
sudo systemctl start mariadb.service
OR
sudo /etc/init.d/mysqld start

Jos sinulla on kuitenkin FirewallD tai Iptables käynnissä, yritä tarkistaa palomuuripalvelut ja avata mysql-portti olettaen, että palomuuri estää TCP-IP-yhteydet mysql-palvelimeesi.

Siinä kaikki! Tiedätkö muita menetelmiä tai onko sinulla ehdotuksia yllä olevan MySQL-yhteysvirheen ratkaisemiseksi? Kerro meille jättämällä kommentti alla olevan palautelomakkeen kautta.