MySQL server installeren onder Windows met een no_install.zip

Carl on mei 5th 2014 | Tags: , , ,

Pak het archief uit op de gewenste locatie. U kunt de server in een shell starten met het volgende commando:
shell> {DISK:\PAD NAAR MySQL SERVER DIRECTORIE NAAM}\bin\mysqld
Stop de server in een andere shell met:
shell> {DISK:\PAD NAAR MySQL SERVER DIRECTORIE NAAM}\bin\mysqladmin -u root shutdown

Als u de data directorie van MySQL in een andere directorie – en eventueel op een andere schijf – dan de standaard locatie wilt plaatsen, kan dat door de volledige ‘data’ directorie daarheen te verplaatsen. In dat geval moet MySQL geinstrueerd worden waar de gegevensbestanden/databases zich bevinden met behulp van een optie-bestand (my.ini or my.cnf). De server wordt dan gestart met:
shell> {DISK:\LOCATIE[\..\..]\MySQL SERVER DIRECTORIE NAAM}\bin\mysqld --defaults-extra-file={DISK:\PAD NAAR}\[my.ini or my.cnf]
Stop de server als boven aangegeven.

Vaak voorkomende problemen

Maakt u gebruik van InnoDB en u krijgt onderstaande foutmelding, dan kunt u dat eenvoudig verhelpen door ibdata1, ibdata2, and the ib_logfile* bestanden te verwijderen uit de data directorie. Bij herstarten van de MySQL server worden de verwijderde bestanden opnieuw gegenereerd.

InnoDB: Error: log file .\ib_logfile0 is of different size 0 10485760 bytes
InnoDB: than specified in the .cnf file 0 25165824 bytes!
120112 5:16:30 [ERROR] Default storage engine (InnoDB) is not available
120112 5:16:30 [ERROR] Aborting

Als onderstaande foutmelding in het log verschijnt:

140430 22:27:43 [ERROR] [PATH TO......]\bin\mysqld: unknown variable mysql-data-dir=[DIRECTORY TO SPECIFIED DATA DIR]

staat een oude parameter naam in het optiebestand. Vervang ‘mysql-data-dir’ met ‘datadir’ in my.ini/.cnf en herstart de server

Serverinstellingen

De gecompileerde standaard serverinstelling op te vragen kan met onderstaand commando:mysqld --verbose --helpEen overzicht van alle mogelijke server parameters, ga naar: Tuning Server Parameters. De pagina geeft de nodige hulp voor het optimaliseren van de serverinstellingen.

Optiebestand

Voor meer informatie ga naar: Using Option Files

MySQL server starten als een windows service

Gebruik hiervoor een shell/PowerShell met administrator rechten
Voordat u MySQL start als een windows server, zorg ervoor dat deze niet meer actief is. Beeindig MySQL server met onderstaand commando:
shell> {DISK:\PAD NAAR MySQL SERVER DIRECTORIE NAAM}\bin\mysqladmin -u root shutdown

De MySQL server als een service installeren
Voor standaard installatie gebruik het commando:
shell> {DISK:\PAD NAAR MySQL SERVER DIRECTORIE NAAM}\bin\mysqld --install
bij gebruik van een optiebestand:
shell> {DISK:\PAD NAAR MySQL SERVER DIRECTORIE NAAM}\bin\mysqld --install MySQL --defaults-file={DISK:\PAD NAAR OPTIEBESTAND}
Om de dienst handmatig te laten starten vervang –install met –install-manual

De service verwijderen

Om de MySQL server die geinstalleerd is als een service te verwijderen, stop de service als deze actief is met het volgende commando: “NET STOP MySQL”. Gebruik vervolgens de –remove optie om de service te verwijderen:
shell> {DISK:\PAD NAAR MySQL SERVER DIRECTORIE NAAM}\bin\mysqld --remove

Filed under MySQL | Reacties uitgeschakeld

REST

Carl on mrt 25th 2013 | Tags: , ,

Soms wil een opdrachtgever gebruik (laten) maken van een RESTfull service. Als je daar nog niet zo goed bekend mee bent dan is dit een aardige site om wat aan kennis op te doen, c.q. kennis uit te breiden

Tutorial

Filed under Programmeren | Reacties uitgeschakeld

JAVA_HOME instellen *nix

Carl on jun 8th 2012 | Tags: , , ,

Als u Java (JRE of SDK) hebt geïnstalleerd en voor bepaalde programmas de JAVA_HOME variabele nodig hebt, wil deze systeem variabele niet altijd geinitïaliseerd zijn. Gelukkig is dat redelijk eenvoudig te verhelpen.

U gaat naar uw home-directory cd ~. Vraagt uit waar java is: which java en opent .bashrc of .bash_profile (afhankelijk van uw *nix smaak) met uw favoriete editor. In het bestand voegt u de volgende regel toe:
export JAVA_HOME=[het resultaat van which java]
Vervolgens ververst u uw sessie met:
source .bashrc
of
source .bash_profile

Controle met:
echo $JAVA_HOME

Filed under Linux | Reacties uitgeschakeld

Windows – uitschakelen Welkomscherm

Carl on jun 7th 2012 | Tags: ,

1. Start > Run
2. Type ‘regedit’ en druk op enter
3. Ga naar: HKEY_CURRENT_USER > Software > Microsoft > Windows > CurrentVersion > Run
4. Een van de waarden rechts is: ‘Welcome Center’. Verwijder de instelling en herstart

Filed under Divers | Reacties uitgeschakeld

PHPUnit installeren op WAMP

Carl on jun 4th 2012 | Tags:

Voordat u PHPUnit kunt installeren, moet PEAR geïnstalleerd zijn. Als dat nog niet het geval is, kan dat door de volgende stappen uit te voeren:

  • Ga naar wamp-directory, b.v. :
    C:\>cd wamp\bin\php\php5.3.0
  • Om PEAR te installeren voert u het volgende commando uit:
    C:\wamp\bin\php\php5.3.0>go-pear.bat
  • Dit geeft een aantal vragen, waarvan u de standaard instellingen kunt accepteren.
  • Vervolgens stelt u de omgevingsvariabelen in voor PEAR. Daarvoor voert u C:\wamp\bin\php\php5.3.0>PEAR_ENV.reg uit. Hiermee worden een aantal waarden in de Registry geplaatst (Voordat u het uitvoert wellicht handig een backup te maken van de registry met regedit). Als die variabelen zijn ingesteld, kunt u overal op de command-line PEAR aanroepen.
    Als u PEAR niet van de command-line kunt aanroepen, moet u handmatig de directory aan de lijst met Omgevingsvariabelen toevoegen, deze vindt u in System Properties -> Advanced-> Environment Variables, vervolgens de directory C:\wamp\bin\php\php5.3.0 aan de PATH variable toevoegen.

PHPUnit installeren

  • Het kanaal van PHPUnit in pear registreren C:\wamp\bin\php\php5.3.0>pear channel-discover pear.phpunit.de
  • Vervolgens PHPUnit installeren C:\wamp\bin\php\php5.3.0>pear install phpunit/PHPUnit
    of php5.3.0>pear install --alldeps phpunit/PHPUnit

Als u een verkeerde versie (te laag) van PEAR op uw systeem hebt kunt u PEAR upgraden
...php5.3.0>pear upgrade pear

Filed under PHP | Reacties uitgeschakeld

Amavisd-new init-script

Carl on jan 4th 2012 | Tags: ,

Recentelijk heb ik mijn mailserver opnieuw moeten installeren, door de gebruikelijke f…-up als root. Na verscheidene uren besteed te hebben aan het configuren van de verschillende ‘packages’ (debian testing), had ik het uiteindelijk aan de praat. Helaas werkte één van mijn cronjobs niet meer. Er verscheen een foutmelding bij het herstertarten van amavisd, nadat spamassassin bijgewerkt was. Gelukkig had iemand anders reeds ditzelfde probleem ondervonden en de ‘fout’ in het script verholpen.
Als je de volgende melding krijgt bij het herstarten of stoppen van amavisd:

Stopping amavisd: (not running).
Starting amavisd: The amavisd daemon is already running, PID: [10966] (failed).

Zoek dan in /etc/init.d/amavis de volgende regel:
STOP="--stop --quiet --pidfile $PIDFILE --name ${DAEMONNAME}"
Commentarieer het alsvolgt uit:
# STOP="--stop --quiet --pidfile $PIDFILE --name ${DAEMONNAME}"
en voeg de volgende regel toe:
STOP="--stop --quiet --pidfile $PIDFILE"

Kortom: Amavisd-new draait op het systeem hoogst waarschijnlijk onder een andere gebruiker dan gedefinïeerd in het script, waarschijnlijk amavis, of amavisd. “What’s in a DAEMONNAME’ …
Als dit niet werkt, dan heb je wat te googlen …

Filed under Mailserver | Reacties uitgeschakeld

ADODB -database wisselen

Carl on jul 26th 2011 | Tags: ,

In ADODB kunt u niet meerdere connecties opzetten naar verschillende databases. Indien u cross database tabellen moet uitlezen, zijn er twee opties:

  • De bestaande connectie sluiten en een nieuwe connectie opzetten naar de database waaruit u de benodigde gegevens ophaalt;
  • Wisselen van database.

Examples:
1. Nieuwe connectie

$dbhandle = new ADONewConnection( $DSN_1 );
... queries e.d. ...
$dbhandle->close ();
$dbhandle = new ADONewConnection( $DSN_2 );
... queries e.d. ...
etc, etc

2. Wisselen van database

$dbhandle = new ADONewConnection( $DSN_1 );
... queries e.d. ...
$dbhandle->SelectDB ( $databasename );
... queries e.d. ...

Op het eerste gezicht lijken de verschillen niet groot. Echter (idd), indien een database server zwaar beproeft wordt, maakt het wel degelijk uit. De eerste optie maakt telkens een nieuwe connectie met de server. De server kan maar een aantal connecties aan (configuratie). Daarbij komt nog eens dat iedere bestaande connectie niet meteen beschikbaar is. Er gaat een korte tijd verloren, voordat de connectie daadwerkelijk wordt vrijgegeven. Op een gegeven moment zijn de connecties dus op en iedee request naar de server komt daarmee in de queue. Voor een website betekend dat ‘timeout’ van de pagina.
De tweede optie maakt telkens gebruik van dezelfde resource/connectie en verandert alleen de database waarnaar deze verwijst. Het is wel van belang dat de databases allemaal toegankelijk zijn voor de gebruiker waarmee ingelogd is op de server. Dat is niet voor alle applicaties/websites mogelijk en afhankelijk van de service provider (indien u dat niet zelf bent).

Filed under MySQL,PHP | Reacties uitgeschakeld

Recursie (php3/4/5.0)

Carl on mrt 2nd 2011 | Tags: ,

Recursie zou in de huidge versies van php goed moeten werken. Echter, als dat niet het geval is, lees het onderstaande en probeer het alternatief.

PHP is soms niet gemakkelijk te doorgronden. Een van de problemen die je als programmeur geheid tegen zal komen is dat je een functie recursief wilt aanroepen. Als je dan je code zover hebt om te testen, kom je er achter dat de waarde van je initïele variabele ineens niet meer hetzelfde is. Je array of hash bevat niet meer dezelfde waarde(n) maar alleen de eerste …

In PHP kan je een methode recursief aanroepen, niet een functie. Verwarrend? Ja, nogal, want dit wil zeggen dat je alleen in een class/object recursief kan werken. Ondanks dat het lijkt dat je functies schrijft in een class – doordat je ‘function’ gebruikt – zijn het methoden.

Het recursief aanroepen van de methode kan je niet op de gebruikelijke manier: ‘$this->methodname ([all your paramaters]);’. Recursie krijg je alleen voorelkaar met ‘classname::methodname([all your params);’. Indien je het met ‘$this->..’ probeert, zal je merken dat je array|hash wederom is teruggebracht naar één waarde. Dat komt omdat je data zich nog in dezelfde instantie/namespace (of hoe je het ook noemen wilt) bevindt. Daardoor wordt je variabele overschreven. Indien je gebruik maakt van ‘class::method ..’, maak je gebruik van een nieuwe instantie van je class, waar die variabele nog niet in voorkomt.

P.s. Let op met static methods.

Filed under PHP | Reacties uitgeschakeld

Class Variabelen PHP5

Carl on feb 24th 2011 |

Een andere aardigheid om te weten:

Als je een class schrijft in PHP 5 en je gebruikt booleans in je methoden, moet je deze eerst initialiseren/declareren.

function methodenaam () {
$booleanvar = false;
...
}

Als je dat niet doet, heb je in PHP5 de kans dat je, ongeacht het feit dat je de variabele de waarde ‘true’ meegeeft, ‘false’ terugkrijgt. Het is sowieso goed om van te voren je variabelen vooraf te declareren/initialiseren.

Filed under PHP | Reacties uitgeschakeld

Mijn favoriete frameworks

Carl on feb 12th 2011 |

In de loop der tijd heb ik de nodige ervaring opgedaan (wie doet dat niet als programmeur …). Gedurende die tijd ontwikkel je jezelf en leer je jezelf op een bepaalde manier te programmeren. Zo ook ga je grebruik maken van hulpmiddelen, zoals frameworks. Onderstaand tref je een aantal favorieten van mij aan:

Php/DBS: ADODB, Doctrine
Php: Zend, Symfony
JavaScript: ExtJS (nu Sencha)

Filed under Frameworks | Reacties uitgeschakeld

Older Posts »