<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Art Dorado Curaçao! &#187; php en mysql</title>
	<atom:link href="http://www.artdorado.com/category/web-tech/php-en-mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.artdorado.com</link>
	<description>Curaçao een el dorado voor Art Dorado!</description>
	<lastBuildDate>Sat, 05 Nov 2016 08:19:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>wordpress: post-revisions en de database</title>
		<link>http://www.artdorado.com/web-tech/wordpress/wordpress-post-revisions-en-de-database.html</link>
		<comments>http://www.artdorado.com/web-tech/wordpress/wordpress-post-revisions-en-de-database.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 00:55:03 +0000</pubDate>
		<dc:creator>Art Dorado</dc:creator>
				<category><![CDATA[php en mysql]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[post-revisions]]></category>

		<guid isPermaLink="false">http://www.artdorado.com/?p=564</guid>
		<description><![CDATA[Je bent erachter gekomen dat je Wordpress-database onnodig groeit doordat alle, maar dan ook alle wijzigingen die je aan een bericht doorvoert en opslaat, worden bewaard. Elke keer als je opslaat, zowel bij je kladversie als bij al gepubliceerde berichten, komt er weer een exemplaar van de volledige tekst bij in je database.
De eerste stap [...]]]></description>
			<content:encoded><![CDATA[<p>Je bent erachter gekomen dat je Wordpress-database onnodig groeit doordat alle, maar dan ook alle wijzigingen die je aan een bericht doorvoert en opslaat, worden bewaard. Elke keer als je opslaat, zowel bij je kladversie als bij al gepubliceerde berichten, komt er weer een exemplaar van de volledige tekst bij in je database.</p>
<p style="margin-bottom: 0cm;">De eerste stap die je zet is een maximum aantal post-revisions instellen. Hoe je dat doet, lees je in het artikel Wordpress: <a href="http://www.artdorado.com/?p=541">limiet aan post-revisions</a>.<img title="More..." src="http://www.artdorado.com/art2log/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p><span id="more-564"></span></p>
<h3>direct in je database werken</h3>
<p>Wijzigingen doorvoeren in je database is niet moeilijk, maar pas wel op: als je eenmaal iets hebt veranderd, is dat definitief. Maak daarom ALTIJD een backup van je database voordat je er iets aan verandert.</p>
<p>Verder: werk stap voor stap en controleer of alles op de goede plek staat en of je de juiste selecties hebt gemaakt, voordat je op &#8220;Start&#8221; of &#8220;Go&#8221; klikt.</p>
<p>Erg veel providers hebben als databaseprogramma MySQL geïnstalleerd. Om met de database te kunnen werken, wordt vaak het programma PHPMyAdmin gebruikt.</p>
<p>Ook in de onderstaande handleiding is gebruik gemaakt van MySQL en PHPMyAdmin.</p>
<p style="margin-bottom: 0cm;">Andere &#8216;frontend&#8217; programma&#8217;s dan PHPMyAdmin lijken erg op elkaar en maken geen verschil voor de werking van MySQL. Een ander databaseprogramma gebruikt echter andere opdrachten, zodat je in dat geval deze handleiding niet kunt gebruiken.</p>
<p style="margin-bottom: 0cm;"> </p>
<h3>post revisions verwijderen uit de database</h3>
<ul>
<li>
<p>&diams; log in op phpMyAdmin</p>
</li>
<li>
<p>&diams; klik op de database die je gebruikt<br />
 <img style="margin: 2px; border: 0pt none;" title="wp-postrevisions selecteer mysql-database" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/1-postrevisions-selecteer-database.jpg" alt="wp-postrevisions selecteer mysql-database" width="550" height="281" /></p>
</li>
<li>
<p>&diams; klik op de tab &#8217;sql&#8217; <br />
 <img style="margin: 2px; border: 0pt none;" title="wp-postrevisions selecteer tab sql in database" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/2-postrevisions-selecteer-tab-sql.jpg" alt="wp-postrevisions selecteer tab sql in database" width="550" height="279" /></p>
</li>
<li>
<p>&diams; tik de volgende opdracht in het query-veld:</p>
</li>
</ul>
<p style="padding-left: 30px;"><code>delete x,y,z<br />
 from wp_posts x<br />
 left join wp_term_relationships y on (x.id = y.object_id)<br />
 left join wp_postmeta z on (x.id = z.post_id)<br />
 where x.post_type = 'revision'</code></p>
<p><br class="spacer_" /></p>
<ul>
<li>
<p>&diams; let op dat je bij de tabelnamen <span style="color: #000080;">wp-posts</span>, <span style="color: #000080;">wp_term_relationships</span> en <span style="color: #000080;">wp-postmeta </span>het prefix of voorvoegsel gebruikt van je eigen wordpress-installatie</p>
</li>
<li>
<p>&diams; klik op &#8216;Start&#8217;</p>
<p><img style="margin: 2px; border: 0pt none;" title="wp-postrevisions draai query in mysql database" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/3-postrevisions-draai-query.jpg" alt="wp-postrevisions draai query in mysql database" width="550" height="272" /></p>
</li>
</ul>
<p><br class="spacer_" /></p>
<p>deze opdracht haalt alles weg wat met je herstelversies van je posts te maken heeft; niet alleen de revisieposts zelf, maar ook de bijbehorende metadata.</p>
<p style="padding-left: 30px;"><img style="margin: 2px; border: 0pt none;" title="wp-postrevisions rijen in mysql-database verwijderd" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/4-postrevisions-rijen-verwijderd.jpg" alt="wp-postrevisions rijen in mysql-database verwijderd" width="550" height="108" /></p>
<p>Let op: van elke post blijft de laatste versie, die je op het internet geplaatst hebt, gewoon bestaan. Deze posts zijn namelijk gelabeld als &#8216;actual&#8217; en niet als &#8216;revision&#8217;</p>
<p><br class="spacer_" /></p>
<ul>
<li>
<p>&diams; ruim nu de restjes op: selecteer opnieuw de database <br />
 <img style="margin: 2px; border: 0pt none;" title="wp-postrevisions selecteer opnieuw de database" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/5-postrevisions-selecteer-opnieuw-db.jpg" alt="wp-postrevisions selecteer opnieuw de database" width="550" height="259" /></p>
</li>
<li>
<p>&diams; en kijk in de kolom &#8216;overhead&#8217;</p>
</li>
<li>
<p>&diams; klik op &#8217;selecteer de tabellen met overhead&#8217;<br />
 <img style="margin: 2px; border: 0pt none;" title="wp-postrevisions selecteer tabellen met  overhead" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/6-postrevisions-selecteer-tabel-overhead.jpg" alt="wp-postrevisions selecteer tabellen met  overhead" width="550" height="258" /></p>
</li>
<li>
<p>&diams; klik op de driehoek in het 	keuzevak en selecteer &#8216;Optimaliseer&#8217; tabel<br />
 <img style="margin: 2px; border: 0pt none;" title="wp -postrevisions optimaliseer tabellen" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/7-postrevisions-optimaliseer.jpg" alt="wp -postrevisions optimaliseer tabellen" width="424" height="374" /></p>
</li>
<li>
<p>&diams; klik op &#8217;start&#8217; en je krijgt het volgende resultaat:<br />
 <img style="margin: 2px; border: 0pt none;" title="wp-postrevisions sql-querie is goed uitgevoerd " src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/8-postrevisions-succes-klaar.jpg" alt="wp-postrevisions sql-querie is goed uitgevoerd" width="500" height="408" /></p>
</li>
</ul>
<p><br class="spacer_" /></p>
<p>De database is nu opgeruimd. Als je vaak tussendoor je post opslaat of vaak iets wijzigt, zul je merken dat je vele kilobytes kwijt bent. Bij voorbeeld bij onderstaande vergelijking tussen mijn databse vóór en na de opruiming:</p>
<p style="padding-left: 30px;"><img style="margin: 2px; border: 0pt none;" title="wp -postrevisions voor en na de opruiming" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/10-postrevisions-voor-na.jpg" alt="wp -postrevisions voor en na de opruiming" width="550" height="434" /></p>
<p><strong><br class="spacer_" /></strong></p>
<p><strong>Daarmee is je database kleiner geworden, ijn je overtollig wordpress-revisions opgeruimd en is je wordpress weblog een stuk sneller en weer wat verder geoptimaliseerd.</strong></p>
<p><strong><br class="spacer_" /></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artdorado.com/web-tech/wordpress/wordpress-post-revisions-en-de-database.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>wordpress: limiet aan post-revisions</title>
		<link>http://www.artdorado.com/web-tech/wordpress/wordpress-limiet-aan-post-revisions.html</link>
		<comments>http://www.artdorado.com/web-tech/wordpress/wordpress-limiet-aan-post-revisions.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 00:47:31 +0000</pubDate>
		<dc:creator>Art Dorado</dc:creator>
				<category><![CDATA[php en mysql]]></category>
		<category><![CDATA[webtech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[post-revisions]]></category>

		<guid isPermaLink="false">http://www.artdorado.com/?p=541</guid>
		<description><![CDATA[Wordpress is een fantastisch blog-systeem. Je hoeft niet veel webtechnische kennis te hebben om er direct lekker mee aan de slag te gaan. Veel processen gaan automatisch, en dat is wel zo handig. Of niet?
In ieder geval niet altijd. Als je gewend bent, zoals ik, om heel vaak tussendoor op te slaan &#8211; ik woon [...]]]></description>
			<content:encoded><![CDATA[<p>Wordpress is een fantastisch blog-systeem. Je hoeft niet veel webtechnische kennis te hebben om er direct lekker mee aan de slag te gaan. Veel processen gaan automatisch, en dat is wel zo handig. Of niet?</p>
<p>In ieder geval niet altijd. Als je gewend bent, zoals ik, om heel vaak tussendoor op te slaan &#8211; ik woon nu eenmaal op Curaçao, waar de stroomleverantie niet altijd gegarandeerd is &#8211; groeit je database in een oogwenk uit tot megaproporties.</p>
<p><span id="more-541"></span></p>
<h3>post-revisions als herstelpunten</h3>
<p><img style="float: left; margin: 4px; border: 0pt none;" title="wordpress list of post-revisions" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/0-postrevisions-list.jpg" alt="wordpress list of post-revisions" width="321" height="548" />Hoe komt dat? Wordpress beschikt over een eigen systeem met &#8216;herstelpunten&#8217; , de post-revisions. Elke keer als je je post wijzigt en opslaat, zet Wordpress een nieuwe versie in de database zonder de oude te wissen. Het aantal herstelpunten is daarmee oneindig, zoals je kunt zien op een lijst van mijn post-revisions toen ik iets uitprobeerde met html-code in een post. Het idee is natuurlijk heel mooi, maar in mijn geval wordt de database niet alleen snel erg groot, hij wordt ook erg traag. Dat is helaas direct in je browser te zien als je op je eigen weblog rondsurft.</p>
<h3>post-revisions limiteren</h3>
<p>Sinds Wordpress 2.6 is het gelukkig mogelijk hier heel eenvoudig iets aan te doen. Als je helemaal geen reserve-exemplaren van je posts wilt hebben, kun je de  post-revisions uitschakelen.<br />
 Het is ook mogelijk een limiet te stellen aan het aantal herstelpunten dat je wilt hebben. Als je de limiet bij voorbeeld op 2 reserve-versies zet en je slaat je bestand voor de derde keer op, overschrijft Wordpress je oudste post-revision in de database. Je database wordt dus nooit groter dan, in dit geval, drie versies van je bericht: de meest recente en 2 backups.</p>
<h3>post-revisions instellen</h3>
<p>In de hoofdmap van je Wordpress-installatie zoek je het bestand &#8216;wp-config.php&#8217; op.<br />
 Open het in een tekstverwerker (GEEN Word, WEL bv. Kladblok).</p>
<p>In het bestand zoek je de volgende regel op:</p>
<p><code>define('DB_COLLATE', '');</code></p>
<p>Op een nieuwe regel hierna voeg je de volgende regel toe:</p>
<p><code> define('WP_POST_REVISIONS', 2);</code></p>
<p>Het getal, in dit geval 2, geeft aan hoeveel post-revisions of herstelpunten je wilt bewaren. Wil je helemaal geen herstelpunten, vul dan de volgende regel in:</p>
<p><code>define('WP_POST_REVISIONS', false);</code></p>
<p>Hieronder zie je een voorbeeld:<br class="spacer_" /></p>
<p><img style="margin: 4px; border: 0pt none;" title="limiteer post-revisions in wp-config.php-bestand" src="http://www.artdorado.com/art2log/wp-content/uploads/2010/03/wp-config-post-revisions.jpg" alt="limiteer post-revisions in wp-config.php-bestand" width="611" height="252" /><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>Let op dat je de regel wel op deze plek zet, anders werkt het niet!</p>
<p>Vanaf nu zal je database in ieder geval niet meer groeien door een oneindig aantal revisions.<br />
 Hoe je de al bestaande revisions uit je database verwijdert, lees je in het artikel Wordpress:  <a title="wp-post-revisions en de database" href="http://www.artdorado.com/?p=564">post-revisions en de database</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artdorado.com/web-tech/wordpress/wordpress-limiet-aan-post-revisions.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mysql-database migreren van versie 5 naar 4</title>
		<link>http://www.artdorado.com/web-tech/wordpress/mysql-database-migreren-van-versie-5-naar-4.html</link>
		<comments>http://www.artdorado.com/web-tech/wordpress/mysql-database-migreren-van-versie-5-naar-4.html#comments</comments>
		<pubDate>Tue, 02 Mar 2010 01:17:33 +0000</pubDate>
		<dc:creator>Art Dorado</dc:creator>
				<category><![CDATA[php en mysql]]></category>
		<category><![CDATA[webtech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.artdorado.com/?p=405</guid>
		<description><![CDATA[Je weblog verhuizen van de ene naar de andere provider, of van je lokale server naar een externe, verloopt niet altijd vlekkeloos.
 In mijn geval moest ik een database van MySQL versie 5 exporteren om vervolgens weer te importeren in een MySQL versie 4. Gevolg: veel foutmeldingen en geen database.
 Na veel speurwerk bleek de [...]]]></description>
			<content:encoded><![CDATA[<p>Je weblog verhuizen van de ene naar de andere provider, of van je lokale server naar een externe, verloopt niet altijd vlekkeloos.<br />
 In mijn geval moest ik een database van MySQL versie 5 exporteren om vervolgens weer te importeren in een MySQL versie 4. Gevolg: veel foutmeldingen en geen database.<br />
 Na veel speurwerk bleek de oplossing slechts uit een paar stappen te bestaan.</p>
<p><span id="more-405"></span></p>
<p><strong>Wat gebeurde er?</strong><br />
 Mijn Wordpress-site moest van mijn lokale server naar een webhost.  Dat gaf meteen een importprobleem bij de MySQL-database. Verschillende fouten die mogelijk twee oorzaken hadden:<br />
 1.de beperkte rechten als gebruiker op de server van de webhost   i.t.t. beheerderspositie op de lokale server<br />
 2.verschillende Mysql-versies (host een verouderde, die ze pas over een paar maanden gaan updaten, leuk, hebben we dan weer een probleem???)<br />
 webhost: 		MySQL vs. 4.0.24 Standard<br />
 lokale server:	MySQL vs. 5.1.</p>
<p>Gelukkig had ik een test-wordpress geïnstalleerd op de webhost èn een backup gemaakt van zowel de bestanden als de database bij de webhost.</p>
<p>Om alles over te zetten had ik het volgende voorbereid:<br />
 lokale server:<br />
 &#8211; backup gemaakt: sql-bestand &#8220;wp-lokaal.sql&#8221; van database op locale server</p>
<p>webhost:<br />
 &#8211; backup gemaakt: sql-bestand &#8220;testlog.sql&#8221; van Wordpress-testlog<br />
 &#8211; gewist: tables (alle tabellen in de db selecteren, drop tables, ok)<br />
 &#8211; in database wp-bij-host: importeer &#8211; van bestand  €“ wp-lokaal.sql</p>
<p><strong>Foutmeldingen</strong></p>
<p>Helaas kreeg ik de volgende foutmelding:<br />
 <code>Error</code></p>
<p><code>SQL query:</code></p>
<p><code>CREATE TABLE `blogdb_comments` ( `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0', `comment_author` tinytext NOT NULL, `comment_author_email` varchar(100) NOT NULL DEFAULT '', `comment_author_url` varchar(200) NOT NULL DEFAULT '', `comment_author_IP` varchar(100) NOT NULL DEFAULT '', `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `comment_content` text NOT NULL, `comment_karma` int(11) NOT NULL DEFAULT '0', `comment_approved` varchar(20) NOT NULL DEFAULT '1', `comment_agent` varchar(255) NOT NULL DEFAULT '', `comment_type` varchar(20) NOT NULL DEFAULT '', `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`comment_ID`), KEY `comment_approved` (`comment_approved`), KEY `comment_post_ID` (`comment_post_ID`), [...]<br />
 </code><br />
 <code>MySQL said: Documentation</code><br />
 <code>#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=utf8 AUTO_INCREMENT=6' at line 22 </code></p>
<p>- vervolgens de db als platte tekst geïmporteerd maar alleen alles na de regel<br />
 <code>'DEFAULT CHARSET=utf8 AUTO_INCREMENT=6' at line 22</code></p>
<p>- toen kwam de volgende foutmelding:<br />
 <code>SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";</code><br />
 <code>MySQL said: Documentation</code><br />
 <code>#1193 - Unknown system variable 'SQL_MODE'</code></p>
<p><strong>Verschillen versie 4 en 5</strong></p>
<p>- gelukkig had ik een backup van de database van mijn testlog. Zowel testlog.sql als wp-lokaal.sql in een teksteditor geopend. Beetje scrollen gaf al snel een paar hele grote verschillen, nl.:</p>
<p><strong>1.</strong> 1e regel van de code die uitgevoerd moet worden:<br />
 webhost:<br />
 witregels<br />
 localeserver:<br />
 <code>SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";</code></p>
<p><strong>2.</strong> character-encoding,<br />
 webhost:<br />
 <code>/*!40101 SET NAMES latin1 */;</code><br />
 localeserver:<br />
 <code>/*!40101 SET NAMES utf8 */;</code></p>
<p><strong>3.</strong> aan het einde van elke tabel:<br />
 webhost:<br />
 <code>) TYPE=MyISAM AUTO_INCREMENT=4 ;</code><br />
 localeserver:<br />
 <code>) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;</code></p>
<p><strong> de oplossing</strong></p>
<p>De volgende stappen waren simpel:<br />
 &#8211; maak voor de zekerheid een kopietje van wp-lokaal.sql, hernoem tot  wp-lokaalORI.sql en ga het bestand  wp-lokaal.sql aanpassen:<br />
 <strong>ad 1.</strong> verwijder de regel:<br />
 <code>SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";</code></p>
<p><strong>ad 2.</strong> verwijder de regel:<br />
 <code>/*!40101 SET NAMES utf8 */;</code></p>
<p><strong>ad 3.</strong> ga met de opdracht &#8216;zoek en vervang&#8217; aan de gang.<br />
 Aan het einde van elke tabel komen de coderegels van punt 3. voor.<br />
 De waarde van  <code>AUTO_INCREMENT=6</code> is bij elke tabel anders, de tekst vind je wel bij allebei. Dat stukje code dus maar laten staan.<br />
 Blijkbaar is er een verschil tussen versie 4 en 5 van MySQL in het benoemen van MyISAM.<br />
 En de utf8-string levert ook foutmeldingen op, dus die moet weg.</p>
<p>De opdracht voor &#8216;zoek en vervang&#8217; wordt dan als volgt:<br />
 zoek de string:<br />
 <code>ENGINE=MyISAM  DEFAULT CHARSET=utf8</code><br />
 en vervang door:<br />
 <code>TYPE=MyISAM</code></p>
<p>- sla het bestand op en importeer opnieuw. Even wachten, even langer als het een groot bestand is, en voilÃ : de database is geïmporteerd!</p>
<p>O ja, dat de meest recente versie thuis op een windows-machine stond, terwijl de server van de webhost op Linux draait, heeft in dit geval blijkbaar weinig uitgemaakt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artdorado.com/web-tech/wordpress/mysql-database-migreren-van-versie-5-naar-4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
