<?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>Artiflo Inside &#187; MySQL</title>
	<atom:link href="http://www.artiflo.net/category/dev/mysql-dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.artiflo.net</link>
	<description>A draft for /b/tard guys.</description>
	<lastBuildDate>Wed, 18 Jan 2012 18:03:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Problème de case des noms de tables MySQL</title>
		<link>http://www.artiflo.net/2009/08/probleme-de-case-des-noms-de-tables-mysql/</link>
		<comments>http://www.artiflo.net/2009/08/probleme-de-case-des-noms-de-tables-mysql/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 16:19:47 +0000</pubDate>
		<dc:creator>Loïc Bisière</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[case sensitive]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.artiflo.net/?p=1406</guid>
		<description><![CDATA[<p>Bonjour,</p> <p>Aujourd&#8217;hui j&#8217;aimerais vous faire part d&#8217;un problème courant en ce qui concerne le développement via MySQL sous Windows et sous Unix. La configuration par défaut du serveur MySQL n&#8217;est pas la même selon le système d&#8217;exploitation. Dans mon cas, le problème vient de la variable lower_case_table_names. Cette dernière est configurée à 1 sous Windows [...]]]></description>
			<content:encoded><![CDATA[<p><!--:fr-->Bonjour,</p>
<p>Aujourd&#8217;hui j&#8217;aimerais vous faire part d&#8217;un problème courant en ce qui concerne le développement via MySQL sous Windows et sous Unix. La configuration par défaut du serveur MySQL n&#8217;est pas la même selon le système d&#8217;exploitation. Dans mon cas, le problème vient de la variable <strong>lower_case_table_names</strong>. Cette dernière est configurée à 1 sous Windows et à 0 sous Unix.Vous pourrez trouver tous les détails dans la <a href="http://mysql.mirrors.pair.com/doc/refman/5.0/fr/name-case-sensitivity.html" target="_blank">documentation officielle sur ce sujet</a> et ainsi mieux comprendre les problème engendrés.<img class="alignright size-full wp-image-1412" title="logo_mysql" src="http://www.artiflo.net/wp-content/uploads/2009/08/logo_mysql.gif" alt="logo_mysql" width="114" height="68" /></p>
<p>Mais les explications pour modifier cette variable ou vérifier qu&#8217;elle est sa valeur actuelle ne sont pas forcément fournies au même endroit. Je vous livre donc ici, la marche à suivre complète &#8230;</p>
<p><!--:--><span id="more-1406"></span><!--:fr-->Pour connaître la valeur de vos variables MySQL, rendez vous sur votre interface phpmyadmin. Exécuter la requète SQL suivante :</p>
<pre lang="sql">SHOW VARIABLES</pre>
<p>Vous devriez alors voir apparaître toutes les variables MySQL, et en parcourant cette liste, vous trouverez la fameuse <strong>lower_case_table_names</strong> avec sa valeur associée.</p>
<p>Alors dans la documentation officielle de MySQL en français, il nous explique que mettre cette valeur à 1 sous Unix aura pour répercussion majeure que lorsque             vous utiliserez <code>SHOW TABLES</code> ou             <code>SHOW DATABASES</code>, vous ne verrez pas la             casse originale des noms. Pas si dramatique que ça, mais si on va faire un tour dans la même <a href="http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html" target="_blank">documentation en anglais cette fois ci</a>, et bien on peut lire : <span><strong></strong></span></p>
<blockquote><p><span><strong>Exception</strong></span>: If you are using             <code>InnoDB</code> tables and you are trying to avoid             these data transfer problems, you should set             <a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_lower_case_table_names"><code>lower_case_table_names</code></a> to 1             on all platforms to force names to be converted to             lowercase.</p></blockquote>
<p>Ok, donc plus de doute, surtout dans mon cas, j&#8217;utilise InnoDB.</p>
<p>Alors pour modifier cette variable, ne tentez pas de la modifier depuis la console MySQL, vous aurez juste droit à une jolie erreur vous expliquant que cette variable est en lecture seule. Hum&#8230; c&#8217;est balo.</p>
<p>Direction votre putty pour aller éditer le fichier de conf directement. Nous y voilà donc :</p>
<pre lang="bash">sudo nano /etc/mysql/my.cnf</pre>
<p>Puis rajouter la ligne suivante après la balise [mysqld] comme ceci :</p>
<pre>[mysqld]
lower_case_table_names = 1</pre>
<p>Puis relancer votre server mysql :</p>
<pre lang="bash">sudo /etc/init.d/mysql restart</pre>
<p>Allez vérifier la valeur de la variable comme expliqué plus haut. Si la valeur est 1, tout va bien !<br />
Vous pouvez à présent continuer votre développement sous Windows et votre mise en production sous Unix sans stress !</p>
<p>You&#8217;re Welcome !<!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artiflo.net/2009/08/probleme-de-case-des-noms-de-tables-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

