Gentoo ja mysql

Päivitin koko järjestelmän ja myös mysql päivittyi versioon 4.1.20 jostain vanhasta versiosta. Mutta nyt tuli ongelmia..

mysql -u root -h localhost -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Mitäs tämä nyt tarkoittaa?
6335
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Todennäkösesti sulla ei syystä tai toisesta ole Mysql-palvelin käynnissä. Eli päivitettyäsi mysql:n on saattanu tulla joku ongelma, joka estää mysql-palvelinta käynnistymästä.

Kokeile vaikka ps -komennolla onko mysqld käynnissä, eli esim:

$ ps -A | grep mysqld
4426 ? 00:00:00 mysqld_safe
4487 ? 00:00:00 mysqld

Jos tuloksena ei ole jotain tommosta, niin sitten se ei ole käynnissä.

Tarkista kaikki ekana tiedosto-oikeudet hakemistoon
/var/run/mysqld/. Tossa hakemistossa pitäs olla tiedosto mysqld.sock. Tarkista, että se on siellä.

Millaset käyttöoikeudet hakemistolle /var/run/mysqld ja tiedostolle /var/run/mysqld/mysqld.sock on? Koeta asettaa /var/run/mysqld lukuoikeus kaikille, ainakin jos sen omistajana on root, niin toi voi auttaa. Eli:

chmod 755 /var/run/mysqld

Ton jälkeen sun pitää koettaa käynnistää Mysql-palvelin.

Kato myös logeista olisko niistä apua. Eli anna komento:

tail /var/log/mysql.log
tail /var/log/mysql.err

Äänestä
  • Ei tainnut tuo auttaa. Elikkäs yritin seuraavaa:

    # chmod 755 /var/run/mysqld
    # /etc/init.d/mysql start
    * ...
    * Starting mysql (/etc/mysql my.cnf) [ ok ]
    # mysql -u root -h localhost -p
    Enter password:
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
    # chmod 755 /var/run/mysqld/mysqld.sock
    chmod: tiedostoa "/var/run/mysqld/mysqld.sock" ei voi käsitellä: Tiedostoa tai hakemistoa ei ole
    # ls /var/run/mysqld
    (Tyhjää täynnä koko hakemisto.)
    # tail /var/log/mysql.log
    tail: tiedostoa "/var/log/mysql.log" ei voi avata lukemista varten: Tiedostoa tai hakemistoa ei ole
    # tail /var/log/mysql.log
    tail: tiedostoa "/var/log/mysql.log" ei voi avata lukemista varten: Tiedostoa tai hakemistoa ei ole
    # /etc/init.d/mysql stop
    * Stopping mysql ...
    /etc/init.d/mysql: line 332: /var/run/mysqld/mysqld.pid: Tiedostoa tai hakemistoa ei ole
    * Stopping mysqld (0) [ ok ]

    mikä tuossa nyt on?

    Äänestä

  • kkkkk kirjoitti:

    Ei tainnut tuo auttaa. Elikkäs yritin seuraavaa:

    # chmod 755 /var/run/mysqld
    # /etc/init.d/mysql start
    * ...
    * Starting mysql (/etc/mysql my.cnf) [ ok ]
    # mysql -u root -h localhost -p
    Enter password:
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
    # chmod 755 /var/run/mysqld/mysqld.sock
    chmod: tiedostoa "/var/run/mysqld/mysqld.sock" ei voi käsitellä: Tiedostoa tai hakemistoa ei ole
    # ls /var/run/mysqld
    (Tyhjää täynnä koko hakemisto.)
    # tail /var/log/mysql.log
    tail: tiedostoa "/var/log/mysql.log" ei voi avata lukemista varten: Tiedostoa tai hakemistoa ei ole
    # tail /var/log/mysql.log
    tail: tiedostoa "/var/log/mysql.log" ei voi avata lukemista varten: Tiedostoa tai hakemistoa ei ole
    # /etc/init.d/mysql stop
    * Stopping mysql ...
    /etc/init.d/mysql: line 332: /var/run/mysqld/mysqld.pid: Tiedostoa tai hakemistoa ei ole
    * Stopping mysqld (0) [ ok ]

    mikä tuossa nyt on?

    Näyttää, että sulla on joko mysql:n päivitys menny jotenkin pieleen, tai sitten mysql:n käyttämät polut on jostain syystä väärin.

    Eli se mysql-clientti yrittää etsiä tiedostoa mysqld.sock hakemistosta /var/run/mysqld, mutta kuten itse huomasit sitä ei ole siellä.

    Katopas millaset polut on /etc/mysql/my.cnf tiedostossa. Mitä ilmeisimmin siellä on tälläset:

    [client]
    socket = /var/run/mysqld/mysqld.sock

    [mysqld_safe]
    socket = /var/run/mysqld/mysqld.sock

    [mysqld]
    pid-file = /var/run/mysqld/mysqld.pid
    socket = /var/run/mysqld/mysqld.sock

    Varmista, että client, mysql ja mysql_safe kohdissa on sama polku mysqld.sock tiedostolle.

    Voit kokeilla myös etsiä mysqld.sock ja mysqld.pid tiedostoja:

    locate mysqld.sock
    locate mysqld.pid

    Löysikö se ne jostain? Jos löyti, niin voit koettaa korvata noi polut my.conf tiedostossa.

    Jos noita ei löydy mistään, niin sitten ei auta kun tehdä ne.

    Äänestä

  • miksuh. kirjoitti:

    Näyttää, että sulla on joko mysql:n päivitys menny jotenkin pieleen, tai sitten mysql:n käyttämät polut on jostain syystä väärin.

    Eli se mysql-clientti yrittää etsiä tiedostoa mysqld.sock hakemistosta /var/run/mysqld, mutta kuten itse huomasit sitä ei ole siellä.

    Katopas millaset polut on /etc/mysql/my.cnf tiedostossa. Mitä ilmeisimmin siellä on tälläset:

    [client]
    socket = /var/run/mysqld/mysqld.sock

    [mysqld_safe]
    socket = /var/run/mysqld/mysqld.sock

    [mysqld]
    pid-file = /var/run/mysqld/mysqld.pid
    socket = /var/run/mysqld/mysqld.sock

    Varmista, että client, mysql ja mysql_safe kohdissa on sama polku mysqld.sock tiedostolle.

    Voit kokeilla myös etsiä mysqld.sock ja mysqld.pid tiedostoja:

    locate mysqld.sock
    locate mysqld.pid

    Löysikö se ne jostain? Jos löyti, niin voit koettaa korvata noi polut my.conf tiedostossa.

    Jos noita ei löydy mistään, niin sitten ei auta kun tehdä ne.

    Ehm noi tiedostot /var/run/mysqld hakemistossa on itseaissa ajonaikasia fileitä eli mysql-palvelimen olis itse pitäny ne luoda.

    No tarkista kuitenki ne polut my.cnf tiedostossa.
    Lisäksi kun kerran /var/log/mysql.log fileitäkään ei ole, niin katso mitä mysql palvelinta käynnistettäessä ja sammutettaessa tulee /var/log/messages logiin. Eli.

    tail /var/log/messages

    Äänestä

Mikä on MySQL-plvelimen tilanne? Saitko sen toimimaan vai? Ollu vaan hiljasta vähä aikaa :)

Äänestä
  • Ei toimi tuo mysql-palvelin vieläkään. Kaikki hakemistot ym. on tuolla my.conf:ssa. Logiin jää vaan seurvaavalainen viesti:

    Jul 18 13:54:05 crone rc-scripts: ERROR: "mysql" has not yet been started.

    Äänestä

Kommentoi aloitusta


kkkkk kirjoitti:

Päivitin koko järjestelmän ja myös mysql päivittyi versioon 4.1.20 jostain vanhasta versiosta. Mutta nyt tuli ongelmia..

mysql -u root -h localhost -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Mitäs tämä nyt tarkoittaa?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu