[OpenBSD + MySQL] krijg het maar niet werkend

Pagina: 1
Acties:

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 21-02 14:14

scorpie

Supra Addict

Topicstarter
Ja ik ben een noob, kooom maar kom maar kom maar... (ok, dat hebben we gehad).

Nu, het probleem:
Ik heb een php site gemaakt, op een andere pjuter (draaide rh 9.0) en wilde hem op mijn nieuwe server zetten, die OpenBSD 3.4 draait.
Ik alles netjes geinstalleerd, ook MySQL, maar als ik nu die gecreëerde site wil bezoeken, krijg ik de volgende error:

code:
1
2002:Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)


Op de desbetreffende pagina gebruik ik deze code om met de dbase te verbinden:
code:
1
2
  // Establishing a connection with the database
  mysql_connect('localhost', 'scorp', '') or die (mysql_errno() . ":" . mysql_error());


Niks mis mee toch?
Als ik via ssh connect naar de mysql dbase, werkt alles perfect, kan de dbase opvragen, kan queries uitvoeren (allemaal vanaf de mysql cli uiteraard).
Zoeken op GoT naar de foutmelding bracht mij naar 2 topics waar ik niks mee kan, op google zoeken lukt wel, maar krijg ik ook talloze sites terug waar ik niks mee kan.

In mijn /var/mysql/server.err errorlog staat niets.

Verder kan ik vanuit windows met mysqlfront ook de dbase benaderen.

Waar ik denk ik de fout moet zoeken is het installeren van mysql.
Op www.mysql.com lees ik dat je na het installeren van mysql nog een gebruikersgroep moet toevoegen met beperkte rechten, en de mysql daemon ook met een user uit die usergroep moet laten starten. Maarja, ik weet niet of die handelingen ook nodig zijn onder OpenBSD. Dus misschien iemand weet of ik de MySQL package onder OpenBSD gewoon mocht installeren zonder nog usergroups etc aan te maken? Of ligt de fout ergens anders?

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


  • imdos
  • Registratie: Maart 2000
  • Laatst online: 20-02 09:45

imdos

I use FreeNAS and Ubuntu

Dit is een probleem met het aanmaken van je socket! Je php weet niet waar hij moet connecten op je socket; waarschijnlijk moet je in /etc/my.cnf dat aanpassen

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • tech-no-logical
  • Registratie: December 2000
  • Laatst online: 19-02 15:13
apache onder openbsd draait chrooted, dus apache/php kan nooit bij de socket. de makkelijkste oplossing is /etc/rc.local aan te passen :

code:
1
2
# use -u to disable chroot, see httpd(8)
httpd_flags="-u"        # for normal use: "" (or "-DSSL" after reading ssl(8))

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 21-02 14:14

scorpie

Supra Addict

Topicstarter
tech-no-logical schreef op 25 februari 2004 @ 09:23:
apache onder openbsd draait chrooted, dus apache/php kan nooit bij de socket. de makkelijkste oplossing is /etc/rc.local aan te passen :

code:
1
2
# use -u to disable chroot, see httpd(8)
httpd_flags="-u"        # for normal use: "" (or "-DSSL" after reading ssl(8))
@ imdos: ik heb /etc/my.cnf aangemaakt, en mysql herstart:
code:
1
2
3
4
5
6
7
8
[client]
port            =       3306
socket          =       /var/run/mysql/mysql.sock

# The MySQL server
[mysqld]
port            =       3306
socket          =       /var/run/mysql/mysql.sock


@tech-no-logical: httpd (apache) draait niet chrooted ik gebruik idd de opstart index: -DSSLu

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


Verwijderd

Waarom uberhaupt chrooted uitschakelen in de eerste plaats? 't Is er niet voor niets..

rc.local:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if [ X"${mysql}" == X"YES" -a -x /usr/local/bin/safe_mysqld ]; then
        echo -n " mysqld";
        /usr/local/bin/safe_mysqld --user=mysql > /dev/null 2>&1 &

        while true
        do
                if test -S /var/run/mysql/mysql.sock
                then
                        break
                fi
                sleep 1
        done

        mkdir -p /var/www/var/run/mysql
        rm /var/www/var/run/mysql/mysql.sock > /dev/null 2>&1
        ln /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock
fi


rc.conf:

code:
1
mysql=YES               # MySQL

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 21-02 14:14

scorpie

Supra Addict

Topicstarter
Paar stomme vragen:
Ik heb geen "mysql=YES" line staan in m'n /etc/rc.conf die kun je toch niet zomaar adden?
(Ik heb dus na de install een package geinstalleerd, OpenBSD 3.4 komt standaard niet met mysql, alleen apache.

Dan dat script uit rc.local... Heb ik nu ingevoerd, hoe kan ik dat script nu laten starten dan? _MOET_ ik daarvoor rebooten? (voor mij de enige bekende wijze om rc.local scripts op te laten starten).

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


Verwijderd

mysql=YES voeg je handmatig toe aan rc.conf, bij voorkeur onder het commentaar
# set the following to "YES" to turn them on ;)

De basis van dat stukje script is de mkdir en ln.. doe die twee handmatig ervanuit gaande dat je mysqld hebt draaien. De rest van de script is alleen benodigd voor het correct opstarten van mysql na een reboot.
De "if" op de eerste regel test of mysql=YES in rc.conf, vervolgens wordt mysql opgestart. Aangezien het script meteen verder gaat met executie terwijl mysql aan het opstarten is komt de script in een oneindige loop, totdat mysql.sock aangemaakt wordt. Dit om zeker van te zijn dat de socket bestaat wanneer de hard link gemaakt wordt van de socket naar zijn nieuwe locatie waar apache bij kan.

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 21-02 14:14

scorpie

Supra Addict

Topicstarter
Dude, jij bent mijn held! :D _/-\o_
Na het maken van de dir /var/www/var/run/mysql en de simlink naar /var/run/mysql/mysql.sock werkt het meteen omfg :D

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470

Pagina: 1