Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client..
hmm, eli mites vitussa mä upgradeen uusimmasta MySQL versiosta parempaa.. niinku mua käsketään tekemään.. vai pitäiskö sit koeilla jtai eri versioo ku 4.1.0?
Siinä käsketään päivittämään MySQL-asiakas (eli PHP), ei serveri. Itselläni myslikokeilut kaatuivat juuri tuohon samaan, kun en jaksanut ottaa selvää, miten tuohon PHP:llä saisi yhteyden. Käytössä oli luonnollisesti uusin versio.
Blaze kirjoitti:
Siinä käsketään päivittämään MySQL-asiakas (eli PHP)
Hmm.. Kait nyt PHP 5.0.3 pitäs tukee tollasia? jos nyt siis sitä PHP:n upgradee suoraan tarkotit..
Ettei web serveri vaikuttais tohon? Apachee ajelen, ta tietysti MySQL 4.1.0 ja PHP 5.0.3 avulla..
Eipä taida tuolla Apachella olla mitään tekemistä sen kanssa, miten PHP Mysql:ään yhdistää :) Lähtisin kattelemaan phpinfo():n tuotoksia ja jos näyttää että mysql on normaalisti toiminnassa (siis php:n puolelta), niin vika on todennäköisesti sitten juuri tuossa yhteydenottotilanteessa. Taitaa ollu unix-alusta?
Windowsilla kyl ajan.. Mut kyl ku ei saa käytettyä phpMyAdminia, eikä mitään MySQL käyttäviä systeemejä..kyllä ton yhteys pitäs ainaki serveriin saada kuitenki..
Ongelma on seuraava:
Joudut antamaan erikseen MySQL sijainnin kääntämisen yhteydessä jotta kirjastot asettuvat kohdalleen.
Törmäsimme eräässä paikassa samaan ongelmaan eli oli käytössä PHP 4.3.10 ja MySQL 5.0.2 asennettu, mutta PHP käytti vanhoja MySQL 3.x.x kirjastoja. Ongelma ratkesi kun antoi kääntämisen yhteydessä MySQL sijainnin.
Phpinfo() kyllä kertoo, että MIKÄ MySQL kirjasto on käytössä. Sen pitää siis olla sama kuin itse tietokannan version.
PHP 5.x.x versiossa joudut asentamaan sekä MySQL palvelimen (server) että MySQL kirjastot (clients).
Tarkotat MySQL varmaan etkä PHP? ainakin luulisin :P
´
Ainut vaa että en oikei tiedä miten mä nyt istte päivitän ne kirjastot.. tai mistä edes löydän ne "oikeat" ;S
www.mysql.com on oikea osoite mistä löytyy kaikki kirjastot. Eli PHP tarvitsee kääntövaiheessa oikeat osoitteet niihin MySQL kirjastoihin mitä halutaan käyttää.
PHP:ssa tuli ennen 5.x.x versiota mukana MySQL client, mutta ei siis enää.
Claw kirjoitti:
Warning: mysql_connect():
Itse päivittelin mysql-versiota aikoinaan uudempaan ja tuli ongelma ettei vanhat php/mysql-sivut enää toimineetkaan.
Uusissa mysleissä on alettu käyttämään pidempää kryptausta. korjasin itse ongelman muuttamalla salasanat takaisin vanhaan muotoon:
SET PASSWORD FOR ' some_user '@' some_host' = OLD_PASSWORD('mypass');
tai onnistuu varmaan käynnistämällä mysql parametrilla old_password. Mitään palvelimen kirjastojen/ohjelmien päivitystä ei välttämättä tarvita, jos tuo kryptauksen heikkous ei haittaa.
Asentaessani MySQL:ää vastoinkäymisiä riitti. Onneksi sain lopulta toimimaan:
- PHP piti jostain syystä päivittää 5.0.0:sta 5.0.3.:seen.
- Apache valitti, että ext_mysql.dll:tä(tms.) ei löydy, vaikka se oli ext-kansiossa. Hermot paloivat, Abyss tilalle.
- Vielä tunti MySQL:n konffailua.
Ongelmat johtuvat nimenomaa tuosta kasetin mainitsemasta kryptauksesta. MySQL 4.1 -versiossa on päivitetty autentikointia turvallisemmaksi eikä vanhemmat kirjastot sitä osaa hyödyntää. Uusiakaan ei ollut saatavissa ainakaan Perlille pari viikkoa sitten. Pitää käyttää noita old_password-ratkaisuja siihen asti kunnes kirjastoista löytyy tuki.
Aihe on jo aika vanha, joten et voi enää vastata siihen.