Tietokantapalvelimeen yhdistäminen

Moro, opiskelen php:ta ja mysqliä kirjasta. Olen törmännyt ongelmaan jossa kirjan avulla tehdyssä päiväkirjasovelluksessa en saa yhteyttä MySql-tietokantaan.

Mistä vikaa kannattaisi etsiä?

Mysql-tietok. on virtuaalisessa linuxissa, jota xp:llä pyöritän.

$yhteys = mysql_connect("ip-ossa:/var/lib/mysql/mysql.sock", "käyttäjätunnus", "salasana");

Ed. koodissa tiedot on tarkistettu oikeiksi:
ip: linuxin ifconfiq-komennolla
pw ja tunnus: PhpMyAdminilla

Allaolevan if-lause toteutuu joka kerta.

if($yhteys == false)
exit("Tietokantapalvelimeen yhdistäminen epäonnistui.");
3643
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat

mysql_connect-funktion ensimmäinen parametri on joko palvelimen nimi tai osoite, ja mahdollinen porttinumero (siis esim. localhost:3306 tai 192.168.0.1), TAI polku paikalliseen palvelin-sokettiin (esim: ":/var/lib/mysql/mysql.sock"). Siis vain jompi kumpi, et voi ottaa verkon yli yhteyttä toisessa koneessa pyörivän mysql:n palvelinsokettiin.

Eli laita siihen ensimmäiseksi parametriksi vain se sun virtuaalilinuxin ip-osoite, ja porttinumero, mikäli mysql kuuntelee jotain muuta kuin oletusporttia (3306).

Äänestä
  • Heitin sokettiosan pois.
    Selaimeen tulee tällainen varotus:

    Warning: mysql_connect() [function.mysql-connect]: Host 'ip-ossa' is not allowed to connect to this MySQL server in C:\kansio\funktioita.php on line 8

    toi ip-ossa on mun oman koneen ip.

    1) Kuinka annan itselleni luvan käyttää omaa MySql-serveriä? PhpMyAdminilla?

    2) Kuinka selvitän/vaihdan MySql:n kuunteleman portin jos tää keissi on siitäkin kii.

    Äänestä

  • 2# amleknO kirjoitti:

    Heitin sokettiosan pois.
    Selaimeen tulee tällainen varotus:

    Warning: mysql_connect() [function.mysql-connect]: Host 'ip-ossa' is not allowed to connect to this MySQL server in C:\kansio\funktioita.php on line 8

    toi ip-ossa on mun oman koneen ip.

    1) Kuinka annan itselleni luvan käyttää omaa MySql-serveriä? PhpMyAdminilla?

    2) Kuinka selvitän/vaihdan MySql:n kuunteleman portin jos tää keissi on siitäkin kii.

    oliko se nyt sitten my.cnf tai my.ini jossa mysliä säädettiin.

    Sieltä pitäs säätää että sallitaan yhteydet muualtakin kuin localhostilta.

    Google auttoi taas

    http://www.hashmysql.org/index.php?title=Remote_Clients_Cannot_Connect

    Äänestä

Kommentoi aloitusta


php-oppija kirjoitti:

Moro, opiskelen php:ta ja mysqliä kirjasta. Olen törmännyt ongelmaan jossa kirjan avulla tehdyssä päiväkirjasovelluksessa en saa yhteyttä MySql-tietokantaan.

Mistä vikaa kannattaisi etsiä?

Mysql-tietok. on virtuaalisessa linuxissa, jota xp:llä pyöritän.

$yhteys = mysql_connect("ip-ossa:/var/lib/mysql/mysql.sock", "käyttäjätunnus", "salasana");

Ed. koodissa tiedot on tarkistettu oikeiksi:
ip: linuxin ifconfiq-komennolla
pw ja tunnus: PhpMyAdminilla

Allaolevan if-lause toteutuu joka kerta.

if($yhteys == false)
exit("Tietokantapalvelimeen yhdistäminen epäonnistui.");

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