Hjälp! MySQL på Tiger vill inte ens starta!

Tråden skapades och har fått 8 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • 2005-07-01 11:59

Jag uppgraderade nyss från Jaguar till Tiger (ren installation). Har nu fått igång Apache och PHP. Tyvärr får jag inte igång MySQL. Får följande meddelande i webbläsaren:

Warning: mysql_pconnect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in /Users/jonasmollberg/Sites/MMM2004/Connections/mmmonline_conn.php on line 5
Client does not support authentication protocol requested by server; consider upgrading MySQL client

Jag tror att jag lyckats sätta rättigheter, lösenord mm i terminalen men om nån kan tipsa om hur man bäst gör detta i Tiger vore jag mycket tacksam!

  • Medlem
  • Kiruna
  • 2005-07-01 12:14

Från och med v 4.1 använder MySQL en ny hash-algoritm för lösenord. Man måste antingen använda en klientversion som klarar den nya algoritmen (4.1.1 eller nyare) eller ansluta med ett konto som fortfarande använder den gamla algoritmen.

Det sistnämnda kan man göra genom att uppdatera lösenordet med funktionen 'OLD_PASSWORD':

SET PASSWORD FOR 'användarnamn'@'dator' = OLD_PASSWORD('nyttlösen');

I MySQL-dokumentationen står det att mysql-modulen till PHP inte klarar den nya algoritmen, oavsett PHP-version, utan man måste använda PHP 5 och mysqli istället. Jag har dock kompilerat PHP själv och då pekat på min egen MySQL-installation och det fungerar alldeles utmärkt med PHP 4 och mysql-modulen. Troligtvis menar de bara den mysql-modul som följer med PHP-installationen.

  • Medlem
  • 2005-07-01 12:44

Ok!

De versioner som är installerade är PHP 4.3.10 och MySQL 4.1.12. Kan jag lösa detta utan ominstallation?

Jag testade att byta användare i connection-scriptet till "mysql" (var tidigare "root") fick då följande felmedelande:

Warning: mysql_pconnect(): Access denied for user 'mysql'@'localhost' (using password: YES) in /Users/jonasmollberg/Sites/MMM2004/Connections/mmmonline_conn.php on line 5
Access denied for user 'mysql'@'localhost' (using password: YES)

Jag är ingen klippa i terminalen men lyckades lösa detta i Jaguar - mycket tacksam för tips på lösningar!

  • Medlem
  • Kristianopel
  • 2005-07-01 13:07

Grejen är som Spot skrev att den PHP-version som levereras med Tiger är kompilerad med Klient-version 3.23 (tror jag). Man har alltså levererat Mysql-servern 4.10 - men php:s mysql-klient är 3.23. Förhoppningsvis rättar dom till det snart. Jag är lat så jag har skapat en användare med konstigt namn utan lösenord för att ansluta mig till phpmyadmin och hoppas på en snar uppdatering

  • Medlem
  • 2005-07-01 16:02

Tack för era svar. Om jag vill köra den funktion som spot nämner är det i terminalen eller var? Om jag vill avinstallera MySQL för att installera om servern hur bär jag mig åt då?

  • Medlem
  • 2005-07-01 21:32

Skulle det hjälpa att installera MySQL 4.0.18 istället (räcker för mina behov)? Hur avinstallerar jag isåfall den tidigare versionen (4.1.12)

  • Medlem
  • 2005-07-02 17:22

Hjälp igen!

Har installerat om Tiger och installerat MySQL 4.0.18. Allt fungerar tills jag skall sätta rootlösenordet med:

./bin/mysqladmin -u root password 'mittlösen'

Vilket ger:

./bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user: 'root@localhost' (Using password: NO)'

Har loggat in som root - vad är/gör jag för fel?

  • Medlem
  • Kristianopel
  • 2005-07-02 18:47

Det verkar som du försökt logga in utan lösenord med ett konto som har ett lösenord.

  • Medlem
  • 2005-07-03 02:46

Lösning för MySQL på Tiger!

Har löst det hela på följande sätt. Nedgraderade till MySQL 4.0.18. Körde sedan följande kommandon i terminalen som jag fann i en macworld från jan 2003. Fjärde kommandot är antagligen felaktigt men korrigerat nedan. Skriv alltså följande:

cd /usr/local/mysql (enter)

sudo ./scripts/mysql_install_db (enter)
(På begäran ange ditt kontos lösenord)

sudo chown -R mysql /usr/local/mysql/* (enter)

sudo ./bin/safe_mysqld --user=mysql & (enter)

./bin/mysqladmin -u root password 'ditt_nya_lösen_här' (enter)

Testa att MySQL fungerar med:

./bin/mysql -u root -p (enter)

Nu skall det stå mysql>

show databases; (enter)

Ser man en tabell här fungerar det!

Tänk också på att inte installera MySQL startup item förrän efter det att ovanstående kommandon är körda.

Tänkte att någon kanske kan ha glädje av detta även om det naturligtvis inte är några nyheter för en riktig hacker.

1
Bevaka tråden