Webprogrammør

Simon Jensen

Bloggen med evigt skiftende tema!


 2

MySQL 5.0 og PHP 4

6. Juli 2007, Kl. 08:43:20 af Simon Jensen

Jeg har lige haft formateret min computer. I den forbindelse skulle jeg "selvfølgelig" have geninstalleret PHP og MySQL, og i samme forbindelse støtte jeg på et lille problem, som det lader til flere har støt på (at dømme ud fra googles resultater).

Problemet

Jeg havde en applikation, som virkede fint lige før jeg formaterede computeren, men efter at have geninstalleret PHP og MySQL, kunne jeg ikke få forbindelse til databasen mere. Jeg havde ligeledes installeret MySQL GUI Tools, hvilke jeg brugte til at oprette brugere til databasen. Det skal nævnes at jeg denne gang installerede PHP v. 4.4.4 og MySQL v. 5.0.27, hvorefter jeg fik følgende fejl:

Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client

Hvorfor?

Problemet ligger i en ny måde at verificerer passwords på i MySQL 5.0 databasen - her snakker vi passwords til bruger af selve MySQL databasen, ikke af et CMS eller anden web applikation. Før formateringen brugte jeg MySQL 4.x.x samt PHP v. 4, hvilke arbejder meget  godt sammen. Men PHP 4 benytter "en gammel MySQL klient", som ikke umiddelbart kan arbejde sammen med MySQL 5.0 pga. den nye måde at verificerer passwords på.

Løsningen

Løsningen er heldigvis til at komme over - du skal blot opdaterer dine passwords til dine MySQL brugere!

Når du har installeret MySQL databasen og oprettet dine brugere, kan du logge ind gennem MySQL kommandoprompten, og opdaterere dine brugere. Du finder kommandoprompten ved at kører mysql.exe fra "bin" kateloget, hvor du har installeret serveren.

Start mysql.exe med root brugeren:

C:\mysql-5.0.27-win32\bin>mysql -u root

Benyt databasen med brugere af serveren (denne er standard):

mysql> use mysql;

Opdater dine brugeres passwords til at være kompatible med ældre klienter:

mysql> UPDATE user SET Password=OLD_PASSWORD("dit-password-her") WHERE User="din-bruger-her";

mysql> FLUSH PRIVILEGES;

Du kan læse mere om problemet på MySQL developer zone.


Hmmm, surt og se du stadig bruger PHP 4.
But old fasion is good fasion? :P

Men ellers meget godt dækket. =)


Det er netop bare en gammel vane ... man har vel tendens til at blive hængende i det man kender?!


Skriv en kommentar






AddThis Social Bookmark Button


aalborg add on ajax akismet algoritme analyse apache arbejde automatix backup bad gastein beryl billeder blog bot brows browser business buzz cache chat cloaking cms color schemer colorpix compiz fusion crazy eggs css css zengarden design desktop applet deviantart editor error facebook falken productions farver fckeditor feed feedburner ferie firebug firefox flash flickr fokus foto gadget galleri gettext gnome gnu goat google google maps gps gracefull degredation grafik gravatar hijax hotel htaccess html ie IM install instereo intaller internet explorer internet explorer 6.0 investering ipod it itunes java javascript karneval kunst linux live search livecd meta microsoft mobil mod_rewrite mootools mozbackup mozilla msn musik mysql news omgivelser one.com ooxml opera os php pidgin ping pipes png podcast printer programmering projekt prototype qfilm reklame reklamebureau rss screenshot script script.aculo.us seo skole songbird spam sponser standard standarder statistik strand svn test thunderbird tillykke tivoli top 10 twitter ubuntu udvikling validering video vinter vista w3c wallpaper web 2.0 web design web programmering webcrawler webserver windows wordpress xhtml xml xmlrpc xp yahoo youtube