<?xml version="1.0" encoding="ISO-8859-1"?>
<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>Linux, PHP, MySQL, Windows, C# &#187; MySQL, DB Server</title>
	<atom:link href="http://www.massimo-caselli.com/category/opensource-world/mysql-database-opensource/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.massimo-caselli.com</link>
	<description>Articoli, news e pillole sul mondo LAMP e l&#039;opensource. Pillole di C#</description>
	<lastBuildDate>Mon, 30 Jan 2012 15:36:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Parametro tmp dir MySQL, attenzione allo spazio</title>
		<link>http://www.massimo-caselli.com/2010/02/16/parametro-tmp-dir-mysql-attenzione-allo-spazio/</link>
		<comments>http://www.massimo-caselli.com/2010/02/16/parametro-tmp-dir-mysql-attenzione-allo-spazio/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 19:00:51 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[Linux, Opensource]]></category>
		<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[tmpdir]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/?p=184</guid>
		<description><![CDATA[Nella configurazione di mysql (mi pare anche nella standard da RPM delle redhat based) non viene configurato il parametro il parametro: tmpdir che normalmente assume il valore di default del sistema. Su Linux naturalmente /tmp. Qualora per motivi di spazio o banalmente convinti che la /tmp non sia necessario renderla di ampie dimensioni, potrebbe accadere [...]]]></description>
			<content:encoded><![CDATA[<p>Nella configurazione di <a target="_blank" href="http://www.mysql.com">mysql</a> (mi pare anche nella standard da RPM delle redhat based) non viene configurato il parametro <strong>il parametro: tmpdir</strong> che normalmente assume il <strong>valore di default del sistema</strong>. Su Linux naturalmente /tmp.</p>
<p>Qualora per motivi di spazio o banalmente convinti che la /tmp non sia necessario renderla di ampie dimensioni, potrebbe accadere che durante certe <strong>operazioni molto pesanti su tabelle con quantitativi di record notevoli</strong>, il sistema <strong>esaurisca lo spazio nella partizione temporanea</strong> durante la fase di elaborazione dati e scrittura di una tmp table, proprio su questa partizione.</p>
<p>La <strong>query abortira&#8217;</strong> con un messaggio del tipo no space left on device o qualcosa del genere.</p>
<p>In tal caso andra&#8217; allargata la partizione tmp di sistema (o dove si appoggia <a target="_blank" href="http://www.mysql.com">mysql</a>) o in alternativa cambiato il path (che deve essere scrivibile dallo user &#8220;<a target="_blank" href="http://www.mysql.com">mysql</a>&#8220;), fermato il servizio <a target="_blank" href="http://www.mysql.com">mysql</a> e riavviato.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2010/02/16/parametro-tmp-dir-mysql-attenzione-allo-spazio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transazioni con Zend Framework</title>
		<link>http://www.massimo-caselli.com/2009/03/26/transazioni-con-zend-framework/</link>
		<comments>http://www.massimo-caselli.com/2009/03/26/transazioni-con-zend-framework/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 19:31:40 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>
		<category><![CDATA[PHP il turbo nel web]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[transazioni mysql]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/?p=167</guid>
		<description><![CDATA[Recentemente avendo sviluppato nelle ore serali un progetto web ( www.animalhelp-spb.com ) per supportare e cercare di far trovare casa a cani e gatti randagi russi, ho deciso di realizzarlo iniziando a farmi le ossa con Zend Framework. Premetto che devo ancora dettagliare ed approfondire la conoscenza di questo strumento, in particolare nell&#8217;utilizzo secondo la [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente avendo sviluppato nelle ore serali un progetto web ( <a title="Animal help san pietroburgo" href="http://www.animalhelp-spb.com" target="_blank">www.animalhelp-spb.com</a> ) per supportare e cercare di far trovare casa a cani e gatti randagi russi, ho deciso di realizzarlo iniziando a farmi le ossa con <a title="Zend framework" href="http://framework.zend.com" target="_blank"><strong>Zend Framework</strong></a>.</p>
<p>Premetto che devo ancora dettagliare ed approfondire la conoscenza di questo strumento, in particolare nell&#8217;utilizzo secondo la logica <strong>MVC (model &#8211; viewer &#8211; controller)</strong>, però l&#8217;ho trovato molto interessante, in particolare per la <strong>gestione delle transazioni</strong>.</p>
<p>In sostanza prima di tutto istanzio la classe corretta parametrizzando gli accessi al database:</p>
<p>$dbparams = array(&#8216;host&#8217; =&gt; DB_HOST, &#8216;username&#8217; =&gt; DB_USER, &#8216;password&#8217; =&gt; DB_PWD, &#8216;dbname&#8217; =&gt; DB_NAME);<br />
$db = new Zend_Db_Adapter_Mysqli($dbparams);<br />
$db-&gt;setFetchMode(Zend_Db::FETCH_OBJ);</p>
<p>Successivamente apro la transazione:</p>
<p>$db-&gt;beginTransaction();<br />
try<br />
{<br />
&#8230;. query 1 &#8230;.<br />
&#8230;. query 2 &#8230;.</p>
<p>$db-&gt;commit();<br />
}<br />
catch (Exception $e)<br />
{<br />
$db-&gt;rollBack();<br />
&#8230;.<br />
}</p>
<p>In sostanza nel caso vi sia un errore all&#8217;interno della transazione viene automaticamente rollbackato secondo una modalità simile a quella usata da adodb &#8220;Smart Transaction&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2009/03/26/transazioni-con-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Potenziale SQL Injection con AdoDB e driver mysqli</title>
		<link>http://www.massimo-caselli.com/2008/12/29/sql-injection-con-adodb-estensione-mysqli/</link>
		<comments>http://www.massimo-caselli.com/2008/12/29/sql-injection-con-adodb-estensione-mysqli/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 21:59:42 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[Apache, Webserver]]></category>
		<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>
		<category><![CDATA[PHP il turbo nel web]]></category>
		<category><![CDATA[adodb]]></category>
		<category><![CDATA[adodb mysqli]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqli]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/?p=156</guid>
		<description><![CDATA[[SEGNALO CHE HO SCOPERTO QUESTA COSA DA POCO E LIMITANDOMI AD ALCUNI TEST E PROVE VELOCI MA REALI, PERCUI OGNI EVENTUALE APPROFONDIMENTO/SMENTITA ETC... E' BEN ACCETTO] Segnalo una problematica di sicurezza abbastanza importante per coloro che utilizzano adodb utilizzando il driver mysqli (le nuove funzioni di connessione con mysql native in php 5). In sostanza [...]]]></description>
			<content:encoded><![CDATA[<p>[SEGNALO CHE HO SCOPERTO QUESTA COSA DA POCO E LIMITANDOMI AD ALCUNI TEST E PROVE VELOCI MA REALI, PERCUI OGNI EVENTUALE APPROFONDIMENTO/SMENTITA ETC... E' BEN ACCETTO]</p>
<p>Segnalo una <strong>problematica di sicurezza abbastanza importante</strong> per coloro che utilizzano <strong><a title="Adodb" href="http://adodb.sourceforge.net/" target="_blank">adodb </a>utilizzando il driver mysqli</strong> (le nuove funzioni di connessione con <a target="_blank" href="http://www.mysql.com">mysql</a> native in <a target="_blank" href="http://www.php.net">php</a> 5).</p>
<p>In sostanza le nuove funzioni mysqli consentono mediante la seguente funzione: <a title="mysql multi query" href="http://it.php.net/manual/en/mysqli.multi-query.php" target="_blank">mysqli_multi_query</a> di poter <strong>eseguire più statement SQL in <a target="_blank" href="http://www.mysql.com">mysql</a></strong> come ad esempio:</p>
<p><em>SELECT * FROM TBL1 WHERE id = 1; DROP table TBL2;</em></p>
<p>Questa query utilizzando le <strong>vecchie librerie <a target="_blank" href="http://www.mysql.com">mysql</a> (es. mysql_connect) dava errore</strong>.<br />
La possibilità di <strong>eseguire più query SQL è supportata su <a target="_blank" href="http://www.mysql.com">mysql</a> 5.0.x anche da command line</strong>, non saprei se anche vecchie versioni lo consentivano.</p>
<p>Questo significa che se per esempio utilizziamo in <a target="_blank" href="http://www.php.net">php</a> una query del tipo:</p>
<p><em>$sql = &#8220;SELECT * FROM tbl1 WHERE id = $_GET['id']&#8220;; // (Premesso che venga come minimo fatto l&#8217;escape dei caratteri come &#8216; o &#8220;)</em></p>
<p>Possiamo rischiare che qualche burlone passi in GET il seguente valore:<br />
<em>&#8220;1; DROP TABLE tbl2;&#8221;</em><br />
Il che comporterebbe che l&#8217;SQL eseguito sia:</p>
<p><em>SELECT * FROM TBL1; DROP table TBL2;</em></p>
<p>Di fatto quindi con AdoDB con driver mysqli, la seconda query viene effettivamente eseguita.</p>
<p>Diventa quindi <strong>essenziale fare un controllo sull&#8217;input dell&#8217;utente per $_GET['id']</strong>. Ad esempio verificando che sia un numero intero.</p>
<p><strong>La soluzione più rapida è quella di cambiare la connect di AdoDB dicendogli di usare il driver <a target="_blank" href="http://www.mysql.com">mysql</a></strong> anziché mysqli, la soluzione migliore e da fare comunque resta <strong>in ogni caso il filtraggio di tutti i dati in input.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2008/12/29/sql-injection-con-adodb-estensione-mysqli/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MySQL 5.1 GA, attenzione a possibili bug fatali</title>
		<link>http://www.massimo-caselli.com/2008/12/03/mysql-51-ga-attenzione-a-possibili-bug-fatali/</link>
		<comments>http://www.massimo-caselli.com/2008/12/03/mysql-51-ga-attenzione-a-possibili-bug-fatali/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 08:30:06 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>
		<category><![CDATA[bug mysql]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql 5.1]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/?p=154</guid>
		<description><![CDATA[Di seguito l&#8217;articolo in italiano di Punto Informatico: http://punto-informatico.it/2494271/PI/News/mysql-51-una-falsa-partenza.aspx E qui l&#8217;articolo ufficiale in lingua inglese di Michael Widenius ex CTO della mysql AB acquistata tempo fa da SUN. http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-mysql-51-released.html Io per adesso rimango sul 5.0 sul quale onestamente ho avuto pochi problemi.]]></description>
			<content:encoded><![CDATA[<p>Di seguito l&#8217;articolo in italiano di Punto Informatico:</p>
<p><a title="MySQL 5.1 bugs" href="http://punto-informatico.it/2494271/PI/News/mysql-51-una-falsa-partenza.aspx" target="_blank">http://punto-informatico.it/2494271/PI/News/mysql-51-una-falsa-partenza.aspx</a></p>
<p>E qui l&#8217;articolo ufficiale in lingua inglese di Michael Widenius ex CTO della <a target="_blank" href="http://www.mysql.com">mysql</a> AB acquistata tempo fa da SUN.</p>
<p><a title="Michael Widenius post MySQL 5.1" href="http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-mysql-51-released.html" target="_blank">http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-<a target="_blank" href="http://www.mysql.com">mysql</a>-51-released.html</a></p>
<p>Io per adesso rimango sul 5.0 sul quale onestamente ho avuto pochi problemi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2008/12/03/mysql-51-ga-attenzione-a-possibili-bug-fatali/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Campi float e decimal in MySQL</title>
		<link>http://www.massimo-caselli.com/2008/09/04/campi-float-e-decimal-in-mysql/</link>
		<comments>http://www.massimo-caselli.com/2008/09/04/campi-float-e-decimal-in-mysql/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 20:42:25 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>
		<category><![CDATA[decimal mysql]]></category>
		<category><![CDATA[mysql campi float]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/?p=144</guid>
		<description><![CDATA[Un piccolo tips &#38; tricks che magari servira&#8217; anche a qualcun altro&#8230; Per tanto tempo ho sempre pensato che quando definisco un campo decimal 10,2 indico che avra&#8217; 10 numeri interi e due decimali. Idem per float. Invece scopro che mi sbagliavo! La cifra 10 si riferisce ai digit e quindi il massimo numero di [...]]]></description>
			<content:encoded><![CDATA[<p>Un piccolo tips &amp; tricks che magari servira&#8217; anche a qualcun altro&#8230;<br />
Per tanto tempo ho sempre pensato che quando definisco un campo decimal 10,2 indico che avra&#8217; 10 numeri interi e due decimali. Idem per float.</p>
<p><strong>Invece scopro che mi sbagliavo!</strong> La cifra 10 si riferisce ai digit e quindi il massimo numero di decimali diventa 10-2 = 8!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2008/09/04/campi-float-e-decimal-in-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL 5, utilizzo dei TRIGGER</title>
		<link>http://www.massimo-caselli.com/2008/07/11/mysql-5-utilizzo-dei-trigger/</link>
		<comments>http://www.massimo-caselli.com/2008/07/11/mysql-5-utilizzo-dei-trigger/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 18:18:58 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>
		<category><![CDATA[automatizzazione processi]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[db server]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/?p=130</guid>
		<description><![CDATA[Finalmente trovo il tempo di pubblicare un articolo&#8230; Vediamo di seguito l&#8217;utilizzo dei TRIGGER in mysql 5, se non dico male infatti sino alla versione 5.0.x i TRIGGER su mysql non erano disponibili. Prima di tutto, a cosa servono i TRIGGER? I TRIGGER hanno il principale scopo di automatizzare determinate operazioni sul database all&#8217;occorrenza di [...]]]></description>
			<content:encoded><![CDATA[<p>Finalmente trovo il tempo di pubblicare un articolo&#8230; <img src='http://www.massimo-caselli.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Vediamo di seguito l&#8217;utilizzo dei <strong><a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a> in <a target="_blank" href="http://www.mysql.com">mysql</a> 5</strong>, se non dico male infatti sino alla versione 5.0.x i <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a> su <a target="_blank" href="http://www.mysql.com">mysql</a> non erano disponibili.</p>
<p>Prima di tutto, a cosa servono i <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a>? I <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a> hanno il principale scopo di <strong>automatizzare determinate operazioni sul database</strong> all&#8217;occorrenza di determinati eventi come <strong>INSERT, UPDATE o DELETE</strong>.</p>
<p>Il modo con cui creare un <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a> è piuttosto semplice:</p>
<p><em>CREATE <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a> setnoprice BEFORE UPDATE ON prodotto<br />
FOR EACH ROW<br />
BEGIN<br />
IF NEW.online = &#8216;no&#8217; THEN<br />
SET NEW.prezzo = 0;<br />
END IF;<br />
END</em></p>
<p>Analizziamo cosa fa di fatto questo <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a>, al di là della sintassi:</p>
<p>Ipotizziamo di avere ad esempio un sito di e-commerce dal quale i prodotti sono acquistabili esclusivamente quando il loro prezzo è maggiore di zero, mentre sono online altri prodotti per il quale esiste una presentazione ma l&#8217;acquisto può essere fatto contattando l&#8217;ufficio commerciale e non viene esposto il prezzo.</p>
<p>Conseguentemente quando un prodotto va offline è automatico che non sia più vendibile. La soluzione più classica e semplice (apparentemente) è quella di gestire l&#8217;operazione direttamente da backoffice dell&#8217;applicativo in modo automatico o peggio ancora di delegare al gestore del backoffice il fatto di resettare a zero il prezzo quando un prodotto va offline.</p>
<p>[Piccolo inciso, so benissimo che potrebbe essere bloccato l'acquisto oltre che per prezzo a zero anche nel caso il flag online sia off, così come so che il prodotto non sarebbe nemmeno visualizzato, ma un'esempio lo dovevo fare... <img src='http://www.massimo-caselli.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> ]</p>
<p>Entrando nel dettaglio <a target="_blank" href="http://www.mysql.com">mysql</a> applicando questo <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a> si preoccupa di eseguire <strong>PRIMA [BEFORE]</strong> dell&#8217;azione <strong>UPDATE [solo update quindi]</strong> la verifica se <strong>online diventerà uguale a off e in tal caso forza il nuovo valore di prezzo a zero.</strong></p>
<p>In sostanza il <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a> va a <strong>sostituire quelle operazioni automatiche che normalmente vengono delegate all&#8217;applicativo</strong>.</p>
<p>Per maggiori informazioni potete consultare direttamente il manuale di <a target="_blank" href="http://www.mysql.com">mysql</a> alla pagina relativa ai <a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/triggers.html">TRIGGER</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2008/07/11/mysql-5-utilizzo-dei-trigger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertire un database PostgreSQL in MySQL e viceversa</title>
		<link>http://www.massimo-caselli.com/2008/05/10/convertire-un-database-postgresql-in-mysql-e-viceversa/</link>
		<comments>http://www.massimo-caselli.com/2008/05/10/convertire-un-database-postgresql-in-mysql-e-viceversa/#comments</comments>
		<pubDate>Sat, 10 May 2008 11:56:03 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[PHP il turbo nel web]]></category>
		<category><![CDATA[conversione database]]></category>
		<category><![CDATA[migrazione postgresql mysql]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[postgresql]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/?p=125</guid>
		<description><![CDATA[La conversione di un database PostgreSQL in mysql e viceversa non è un&#8217;operazione esattamente banale. Nel senso che a differenza della conversione da SQL Server a mysql o da Access ad esempio, per i quali esiste il tool realizzato direttamente da mysql, mysql Migration Toolkit, per PostgreSQL questo software non ci aiuta. Durante la ricerca [...]]]></description>
			<content:encoded><![CDATA[<p>La <strong>conversione di un database PostgreSQL in <a target="_blank" href="http://www.mysql.com">mysql</a> e viceversa</strong> non è un&#8217;operazione esattamente banale.<br />
Nel senso che a <strong>differenza della conversione da SQL Server a <a target="_blank" href="http://www.mysql.com">mysql</a> o da Access</strong> ad esempio, per i quali esiste il tool realizzato direttamente da <a target="_blank" href="http://www.mysql.com">mysql</a>, <a title="http://www.mysql.com/products/tools/migration-toolkit/" href="http://www.mysql.com/products/tools/migration-toolkit/" target="_blank"><a target="_blank" href="http://www.mysql.com">mysql</a> Migration Toolkit</a>, per PostgreSQL questo software non ci aiuta.</p>
<p>Durante la ricerca di qualcosa di ben funzionante mi sono imbattuto in:</p>
<p><a title="http://dbconvert.com/convert-mysql-to-postgresql-pro.php" href="http://dbconvert.com/convert-mysql-to-postgresql-pro.php" target="_blank">DB Convert for <a target="_blank" href="http://www.mysql.com">mysql</a> and PostgreSQL 2.0.x</a></p>
<p>Questo software consente in <strong>modalità trial di importare solo 10 record per tabella</strong>. E&#8217; sufficiente nel caso sia necessario <strong>solo ripristinare la struttura</strong>, nel caso import di dati invece risulta insufficiente.</p>
<p>Per poter disporre delle <strong>funzionalità complete è sufficiente acquistarlo ad una cifra ragionevole di 69 dollari.</strong></p>
<p>Il software dopo l&#8217;installazione consente una <strong>comoda migrazione di tutto quanto</strong>. La migrazione può essere bidirezionale.</p>
<p>La stessa software house propone altri tool come il sync.</p>
<p>Sono disponibili inoltre migrazioni da svariati altri database.</p>
<p>Per maggiori informazioni: <a title="http://www.dbconvert.com" href="http://www.dbconvert.com" target="_blank">http://www.dbconvert.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2008/05/10/convertire-un-database-postgresql-in-mysql-e-viceversa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novita&#8217; partizionamento su MySQL 5.1</title>
		<link>http://www.massimo-caselli.com/2008/01/03/novita-partizionamento-su-mysql-51/</link>
		<comments>http://www.massimo-caselli.com/2008/01/03/novita-partizionamento-su-mysql-51/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 17:57:10 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[Linux, Opensource]]></category>
		<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/2008/01/03/novita-partizionamento-su-mysql-51/</guid>
		<description><![CDATA[A partire dalla versione 5.1 mysql supportera&#8217; praticamente per tutti i tipi di storage engine il partizionamento. La versione 5.1 di mysql e&#8217; al momento in release candidate. Spero che nell&#8217;arco di 3/4 mesi possa uscire la prima release stabile. Il partizionamento rappresenta una novita&#8217; per il design di database in mysql molto forte e [...]]]></description>
			<content:encoded><![CDATA[<p>A partire dalla versione <strong>5.1 <a target="_blank" href="http://www.mysql.com">mysql</a></strong> supportera&#8217; praticamente per tutti i tipi di storage engine il <strong>partizionamento</strong>.</p>
<p>La versione 5.1 di <a target="_blank" href="http://www.mysql.com">mysql</a> e&#8217; al momento in release candidate.</p>
<p>Spero che nell&#8217;arco di 3/4 mesi possa uscire la prima release stabile.</p>
<p>Il <strong>partizionamento rappresenta una novita&#8217; per il design di database in <a target="_blank" href="http://www.mysql.com">mysql</a></strong> molto forte e utile, soprattutto quando i record sono tanti.</p>
<p>Vi rimando ad un articolo stupendo che spiega benissimo (in inglese, ma e&#8217; facile&#8230; <img src='http://www.massimo-caselli.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> ) i vantaggi che si possono ottenere lavorando con i partizionamenti.</p>
<p><strong><a href="http://dev.mysql.com/tech-resources/articles/mysql_5.1_partitions.html" title="MySQL Partitioning" target="_blank">My-SQL-Partitions</a> </strong></p>
<p>Ciao. Maxgrante<br />
info[AT]massimo-caselli[DOT]com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2008/01/03/novita-partizionamento-su-mysql-51/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL, eseguire una INSERT che esegua update in caso di valori duplicati</title>
		<link>http://www.massimo-caselli.com/2007/12/03/mysql-eseguire-una-insert-che-esegua-update-in-caso-di-valori-duplicati/</link>
		<comments>http://www.massimo-caselli.com/2007/12/03/mysql-eseguire-una-insert-che-esegua-update-in-caso-di-valori-duplicati/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 09:29:50 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>
		<category><![CDATA[PHP il turbo nel web]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/2007/12/03/mysql-eseguire-una-insert-che-esegua-update-in-caso-di-valori-duplicati/</guid>
		<description><![CDATA[In mysql, ma più in generale con l&#8217;SQL è possibile far eseguire al database una INSERT che, nel caso vi sia un duplicato con i valori passati, provveda ad eseguire un&#8217;UPDATE sul database. Ad esempio: $sql = &#8220;INSERT INTO tbl SET a = 2, b = 2, c = 10 ON DUPLICATE KEY UPDATE b [...]]]></description>
			<content:encoded><![CDATA[<p>In <a target="_blank" href="http://www.mysql.com">mysql</a>, ma più in generale con l&#8217;SQL è possibile far eseguire al database una <strong>INSERT</strong> che, <strong>nel caso vi sia un duplicato</strong> con i valori passati, provveda ad <strong>eseguire un&#8217;UPDATE</strong> sul database.</p>
<p>Ad esempio:</p>
<p>$sql = &#8220;INSERT INTO tbl SET<br />
a = 2,<br />
b = 2,<br />
c = 10</p>
<p><strong>ON DUPLICATE KEY UPDATE b = b + &#8220;.$b; </strong></p>
<p>In questo caso se una chiave primaria o più genericamente un indica UNIQUE dovesse verificare la presenza di un valore duplicato verrà eseguito un UPDATE che aggiorna il campo &#8216;b&#8217; sommandogli il valore di $b.</p>
<p>Ciao. Maxgrante<br />
info[AT]massimo-caselli[DOT]com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2007/12/03/mysql-eseguire-una-insert-che-esegua-update-in-caso-di-valori-duplicati/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SQL Yog, un tool per la gestione di MySQL Server</title>
		<link>http://www.massimo-caselli.com/2007/11/30/sql-yog-un-tool-per-la-gestione-di-mysql-server/</link>
		<comments>http://www.massimo-caselli.com/2007/11/30/sql-yog-un-tool-per-la-gestione-di-mysql-server/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 08:11:44 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[Linux, Opensource]]></category>
		<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[Opensource World]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/2007/11/30/sql-yog-un-tool-per-la-gestione-di-mysql-server/</guid>
		<description><![CDATA[Recentemente stanco di utilizzare il solito phpmyadmin (sempre valido ed eccezionale) ho deciso di provare qualche programma per la gestione di mysql alternativo. Ho scoperto un ottimo tool in versione opensource che si chiama SQL Yog. Lo potete trovare e scaricare dal sito ufficiale: http://www.webyog.com La versione community è davvero molto valida ed affidabile. Di [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente stanco di utilizzare il solito phpmyadmin (sempre valido ed eccezionale) ho deciso di provare qualche programma per la gestione di <a target="_blank" href="http://www.mysql.com">mysql</a> alternativo.</p>
<p>Ho scoperto un ottimo tool in versione opensource che si chiama <strong>SQL Yog</strong>.</p>
<p>Lo potete trovare e scaricare dal sito ufficiale: <a href="http://www.webyog.com" title="Sql Yog tool per la gestione di mysql" target="_blank">http://www.webyog.com</a></p>
<p>La versione community è davvero molto valida ed affidabile. Di fatto presenta tutte le caratteristiche tipiche di questi programmi, ma rispetto a molti altri che ho provato in passato garantisce davvero un&#8217;ottima affidabilità.</p>
<p>Di seguito <strong>alcune tra le caratteristiche più interessanti</strong>:</p>
<ul>
<li>Possibilità di creare viste, stored procedure</li>
<li>Ottima funzionalità di import/export dal classico dump</li>
<li>Tool per table diagnostics</li>
<li>Valida gestione dei permessi</li>
<li>Editing il linea dei dati presenti nelle tabelle</li>
</ul>
<p>Segnalo inoltre per chi fa un uso professionale di questi strumenti che esiste una versione <strong>Enterprise del costo di 70 euro + IVA</strong> circa per una licenza che permette alcune cosette davvero carine:</p>
<ul>
<li>Tunnelling SSH</li>
<li>Tunnelling SSL</li>
<li>Synchronization e Migration Toolkit da diversi database quali Oracle, SQL Server, Access etc&#8230;</li>
<li>Query autocompletion</li>
<li>Query builder</li>
<li>Schema designer</li>
</ul>
<p>Ciao. Maxgrante<br />
info[AT]massimo-caselli[DOT]com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2007/11/30/sql-yog-un-tool-per-la-gestione-di-mysql-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

