Kirjoittaja Aihe: Mysql ja RoR  (Luettu 3168 kertaa)

Akseli

  • Käyttäjä
  • Viestejä: 16
    • Profiili
Mysql ja RoR
« : 17.12.06 - klo:21.58 »
Latasin Ruby on Rails'n koneeseeni ja olin tyytyväinen kun sain sen toimimaan ja rails vaikutti juuri sellaiselta jota olin kaivannut.
Ongelmana on mysql jota en saa toimimaan enään.
Mysql on asennettu /usr/local/mysql/ kansioon mutta sitä yritetään käynnistää jostakin /tmp/ kansiosta.

root@ubuntu:/usr/local/mysql# bin/mysqld_safe --user=mysql &
[1] 5561 root@ubuntu:/usr/local/mysql# Starting mysqld daemon with databases from /usr/local/mysql/data
root@ubuntu:/usr/local/mysql# error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Nyt kun en tiedä riittävästi socketeista ja linuksen tuntemukseni on kehno etsin apua täältä.

Miten näen joko minulla pyörii mysql koneessa (ja missä)?

Mitä socketit ovat?

Ja tietenkin muu tarpeellista tieto on tervetullut. En ole edes varma milloin on kyse mysql'n tai ubuntun salasanoista.

 

mandu

  • Käyttäjä
  • Viestejä: 32
    • Profiili
Re: Mysql ja RoR
« Vastaus #1 : 17.12.06 - klo:22.36 »
Koodia: [Valitse]
ps -A | grep mysql
Tolla näät ainakin onko mysql päällä. Enempää en osaa nyt auttaa. Joskus iteki taistelin vastaavanlaisen ongelman kanssa, mutta ei nyt muistu mieleen mitä tuli silloin tehtyä.


janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: Mysql ja RoR
« Vastaus #2 : 17.12.06 - klo:23.24 »
Latasin Ruby on Rails'n koneeseeni ja olin tyytyväinen kun sain sen toimimaan ja rails vaikutti juuri sellaiselta jota olin kaivannut.
Ongelmana on mysql jota en saa toimimaan enään.
Mysql on asennettu /usr/local/mysql/ kansioon mutta sitä yritetään käynnistää jostakin /tmp/ kansiosta.

root@ubuntu:/usr/local/mysql# bin/mysqld_safe --user=mysql &
[1] 5561 root@ubuntu:/usr/local/mysql# Starting mysqld daemon with databases from /usr/local/mysql/data
root@ubuntu:/usr/local/mysql# error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

tuota... siis miksi etä käytä mysql:n käynnistämiseen sitä varten olemassa olevia init-scriptejä?
Koodia: [Valitse]
$ sudo /etc/init.d/mysql start
jos/kun mysql on paketinhallinnasta asennettu, niin oletettavasti se myös käynnistetään automaattisesti.

Miten näen joko minulla pyörii mysql koneessa (ja missä)?

tähän lie vastattiinkin.

Mitä socketit ovat?

socketit ovat väline kaksisuuntaiseen kommunikointiin sovellusten välillä. linux ja muut unixin kaltaiset käyttöjärjestelmät käyttävät niitä paikallisestikin, mutta hyvin usein niitä käytetään verkon yli kommunikointiin.
Janne

Akseli

  • Käyttäjä
  • Viestejä: 16
    • Profiili
Re: Mysql ja RoR
« Vastaus #3 : 18.12.06 - klo:01.44 »
Osaan nyt startata ja sammuttaa mysql ohjelman sekä tarkistaa että mysql on toiminnassa.
Tämä on edistystä.

ps -A | grep mysql
bin/mysqld_safe --user=mysql &
bin/mysql -u root
bin/mysqladmin -u root shutdown

Saattaa olla parempiakin tapoja mutta näin sain ne kuitenkin toimimaan.
Railsilla tekemäni kannat löytyivät mutta rails ei pelittänyt enää, se lienee toinen juttu.
Jatkan huomenillalla, kiitos neuvoista!

Akseli

  • Käyttäjä
  • Viestejä: 16
    • Profiili
Re: Mysql ja RoR
« Vastaus #4 : 29.12.06 - klo:23.10 »
Rails ei saa yhteyttä tietokantaan (mysql) ensiasennuksen jälkeen.

Kun se viimeinenkin typo löytyi ja oikea diagnoosi saatiin tehtyä niin huomasin etten ollut aivan yksin vaivan kanssa joten tässä siihen lääke.   

Lisää rivi "socket: /var/run/mysqld/mysqld.sock" database.yml tiedostoon.

Minulla tiedosto löytyy projects/emporium/config/ kansiosta jossa on kolme tietokannan määritystä. Lisäsin rivin jokaisen "adapter: mysql" esiintymän jälkeen seuraavalle riville.

Jos ylläoleva ei auta niin tarkista socket tiedoston sijainti. Se löytyy /etc/mysql/my.cnf tiedostosta, ja saattaa vaihdella asennustavan mukaan.

Käyn läpi Beginning Ruby on Rails E-Commerce kirjaa ihan ubuntu noviisina. Kirja toimittaa hyvin virkansa antaa välillä niitä ahaa-elämyksiäkin, joten suosittelen jos aikoo opetella Rail'sia!