MySQL måste helt plötsligt startas med 'sudo'

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2007-01-09 11:40

Har installerat 'mysql-standard-4.1.22-apple-darwin8.5.1-i686' på en Xserve Intel. Helt plötsligt måste man starta '/usr/local/mysql/bin/mysql' med 'sudo'. Det har jag aldrig varit med om tidigare. På 4 andra MySQL-servrar vi kör har detta aldrig varit fallet. Vet någon något om detta?

Startar man inte med 'sudo' får man felet:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (13)

  • Medlem
  • Kiruna
  • 2007-01-09 13:25

Vad säger MySQL-loggen?

Utan att veta mer så låter det som att mysql-användaren inte har rättighet att öppna en socket i /var/mysql

  • Medlem
  • International user
  • 2007-01-09 15:32

Loggen säger inget om detta. Problemet är att mappen '/var/mysql' skapas med "fel" behörighet:

# Om behörigheten ändras från
drwxrwx---    3 mysql     wheel     102 Jan  9 14:28 mysql
# till
drwxrwxrwx    3 mysql     wheel     102 Jan  9 14:28 mysql
# fungerar det

Frågan är varför detta uppstår på MySQL-installationen på en Xserve Intel? Ska inte administrator-gruppen ingå i Wheel?

  • Medlem
  • Kiruna
  • 2007-01-09 16:44

Defaultplatsen för MySQL:s socket är /tmp. Om man vill använda någon annan plats får man själv skapa kataloger, se till att rättigheterna är korrekta och ändra i konfigurationen så att mysqld använder den rätta socketen. Installationspaketet från MySQL AB gör såvitt jag vet inga sådana saker alls.

Det är inte så att du kör Mac OS X Server, och din installation krockar med Apples?

  • Medlem
  • International user
  • 2007-01-11 15:57
Ursprungligen av spot:

Defaultplatsen för MySQL:s socket är /tmp. Om man vill använda någon annan plats får man själv skapa kataloger, se till att rättigheterna är korrekta och ändra i konfigurationen så att mysqld använder den rätta socketen. Installationspaketet från MySQL AB gör såvitt jag vet inga sådana saker alls.

Det är inte så att du kör Mac OS X Server, och din installation krockar med Apples?

Defaultplatsen för MySQL:s socket från installationspaketet från MySQL AB är '/var/mysql/mysql.sock'. Inte i '/tmp/'. Behörigheten som paketet installerar skiljer sig från G5-64. Det var därför det krånglade.

  • Medlem
  • Kiruna
  • 2007-01-11 23:54

Nej. En annan socket path än standard kan specificeras på något av följande sätt:

* Konfigurationsfil (/etc/my.cnf)
* --socket=/path flagga på kommandolinje (för både server och klient)
* Miljövariabeln MYSQL_UNIX_PORT
* --with-unix-socket-path=/path som argument till configure vid kompilering

Installationspaketet gör inget sådant.

  • Medlem
  • International user
  • 2007-01-13 11:50

Bevisligen så är '/var/mysql/mysql.sock' platsen för 'mysql-standard-4.1.22-apple-darwin8.5.1-i686'. Annars måste någon trolla i min server. Omdu studerat installationen på en Xserve Intel så ser du att så är fallet.
Fast jag börjar undra om vi diskuterar samma sak...

1
Bevaka tråden