<?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>Rubén Ortiz &#187; MySql</title> <atom:link href="http://www.rubenortiz.es/category/software/mysql-software/feed/" rel="self" type="application/rss+xml" /><link>http://www.rubenortiz.es</link> <description>Blog personal de Rubén Ortiz</description> <lastBuildDate>Mon, 16 Jan 2012 08:09:38 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Percona Server cotejamiento</title><link>http://www.rubenortiz.es/2011/11/11/percona-server-cotejamiento/</link> <comments>http://www.rubenortiz.es/2011/11/11/percona-server-cotejamiento/#comments</comments> <pubDate>Fri, 11 Nov 2011 11:55:32 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[percona]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=4933</guid> <description><![CDATA[Estos días trabajamos en Rsystem (ITnet Consulting) el lanzamiento de un proyecto (start-up). El proyecto requería una base de datos MySQL. De inicio montamos Percona Server e hicimos la importación de la base de datos suya de su entorno viejo al nuestro actual. Y es ahí donde nos avisaron del problema. Por defecto, el cotejamiento [...]]]></description> <content:encoded><![CDATA[<p>Estos días trabajamos en Rsystem (ITnet Consulting) el lanzamiento de un proyecto (start-up). El proyecto requería una base de datos MySQL. De inicio montamos Percona Server e hicimos la importación de la base de datos suya de su entorno viejo al nuestro actual. Y es ahí donde nos avisaron del problema. Por defecto, el cotejamiento de Percona Servers es latin. Vamos a cambiarlo a utf para que los carácteres especiales se guarden bien.<br
/> <span
id="more-4933"></span></p><p>Comprobamos que valores tenemos antes de todo</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># mysqladmin -uroot -p variables |grep character<br
/> | character_set_results &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | latin1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_set_server &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| latin1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_set_system &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| utf8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_sets_dir &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| /usr/share/mysql/charsets/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|ç</div></td></tr></tbody></table></div><p>Como podemos ver, latin1 es el _set_server. Vamos a editar my.cnf.</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># vim /etc/my.cnf<br
/> character_set_server = utf8<br
/> collation_server = utf8_general_ci</div></td></tr></tbody></table></div><p>Sólo queda entonces rebotar el servicio y volver a comprobar</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/>8<br
/>9<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># mysqladmin -uroot -p variables |grep character<br
/> | character_set_client &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| utf8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_set_connection &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| utf8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_set_database &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| utf8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_set_filesystem &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| binary &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_set_results &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | utf8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_set_server &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| utf8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_set_system &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| utf8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br
/> | character_sets_dir &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| /usr/share/mysq/charsets/ |</div></td></tr></tbody></table></div> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2011/11/11/percona-server-cotejamiento/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>MySQL replicación Master a Slave</title><link>http://www.rubenortiz.es/2011/07/08/mysql-replicacion-master-a-slave/</link> <comments>http://www.rubenortiz.es/2011/07/08/mysql-replicacion-master-a-slave/#comments</comments> <pubDate>Fri, 08 Jul 2011 08:42:04 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=4603</guid> <description><![CDATA[Uno de los motivos de implementar replicación de MySQL Master-Slave, puede ser por ejemplo el disponer de una instancia de MySQL Server de nuestra base de datos, que sólo sirva para el acceso a lecturas (SELECT) para diversos fines (estadísticas, backups, repartir lecturas y liberar de carga al MASTER). Vamos a ver como implementarlo en [...]]]></description> <content:encoded><![CDATA[<p>Uno de los motivos de implementar replicación de MySQL Master-Slave, puede ser por ejemplo el disponer de una instancia de MySQL Server de nuestra base de datos, que sólo sirva para el acceso a lecturas (SELECT) para diversos fines (estadísticas, backups, repartir lecturas y liberar de carga al MASTER). Vamos a ver como implementarlo en MySQL 5.0.</p><p><span
id="more-4603"></span></p><p><strong>Metas y  Límites de la replicación</strong></p><ul><li>Distribución de datos</li><li>Balanceo de carga</li><li>Backup</li><li>HA y failover</li><li>Testear upgrades de MySQL</li></ul><ul><li>Una instancia de MySQL SLAVE puede tener sólo un MySQL MASTER</li><li>Cada SLAVE debe tener un único ID server</li><li>Un MASTER puede manejar varios SLAVES</li><li>Un SLAVE puede propagar cambios desde su MASTER y ser a su vez el MASTER de otros SLAVES si habilitas log_slave_updates</li></ul><p><strong>Pasos (BREVE)</strong></p><ul><li>Configurar cuentas de replicación en ambos servidores</li><li>Configurar master y esclavo (editar my.cnf)</li><li>Configurar esclavo para conectar y replicar desde el master</li></ul><p><strong>Escenario</strong></p><p>MASTER = 10.0.0.1, server id 100</p><p>SLAVE = 10.0.0.2, server id 101</p><p>Asumimos que partimos de un MASTER en servicio, es decir, el SLAVE y MASTER no parten ambos desde cero</p><p>&nbsp;</p><p><strong>1. Setup en MASTER</strong></p><p><strong>1.1 Creamos una cuenta de replicación con permisos en la BD master</strong></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># mysql -uroot -p<br
/> # mysql&gt;; use mysql;<br
/> # mysql&gt;; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@’10.0.0.1%’ IDENTIFIED BY ‘replpassword’;</div></td></tr></tbody></table></div><p><strong>1.2. Habilitar binary login and server ID (editar my.cnf)</strong></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># vim /etc/my.cnf<br
/> <br
/> # Replication Master Server (default)<br
/> # binary logging is required for replication<br
/> log-bin=mysql-bin<br
/> server_id=100</div></td></tr></tbody></table></div><p><strong>1.3. Reiniciar MYSQL</strong></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">service mysqld restart</div></td></tr></tbody></table></div><p><strong>1.4. Comprobar estado Master</strong></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&gt;;show master status;<br
/> +------------------+----------+--------------+------------------+<br
/> | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |<br
/> +------------------+----------+--------------+------------------+<br
/> | mysql-bin.000001 | 103874 | | |<br
/> +------------------+----------+--------------+------------------+<br
/> 1 row in set (0.00 sec)</div></td></tr></tbody></table></div><p>Si obtenemos algo como esto es que el archivo de log binario se ha creado correctamente.</p><p><strong>2. Setup SLAVE</strong></p><p><strong>2.1 Creamos una cuenta de replicación con permisos en la BD master</strong></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># mysql -uroot -p<br
/> # mysql&gt; use mysql;<br
/> # mysql&gt;; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@’10.0.0.2%’ IDENTIFIED BY ‘replpassword’;</div></td></tr></tbody></table></div><p>*** NOTA: realmente,  el usuario de replicación sólo necesita privilegios REPLICATION SLAVE en el MASTER y no necesita REPLICATION CLIENT, pero para este tutorial, seguiremos estos pasos</p><div><p><strong>2.2. Editamos my.cnf</strong></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># vim /etc/my.cnf<br
/> <br
/> log-bin=mysql-bin<br
/> server_id=101<br
/> relay_log=mysql-relay-bin<br
/> log_slave_updates=1<br
/> read_only=1</div></td></tr></tbody></table></div><ul><li>relay_log: precisa la ruta y nombre del fichero de log relay</li></ul><ul><li>read _only: evita las writes en el esclavo</li></ul><ul><li>log_slave_updates: guarda los eventos del esclavo en un log</li></ul><p><strong>2.3 Reiniciamos esclavo</strong></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">service mysqld restart</div></td></tr></tbody></table></div><p><strong>3. Iniciar replicación</strong></p><p>Necesitamos tres cosas para sincronizar un SLAVE con su MASTER:</p><ul><li>Un snapshot de los datos del maestro en algún punto concreto de tiempo</li><li>El archivo de log actual del master y el byte offset con el log en el punto de tiempo exacto en el que tomaste el snapshot. Nos referiremos a estos dos valores como <strong>coordenadas del archivo log</strong> porque juntas identifican la posición del archivo de log binario. Puedes encontrar las coordenadas del archivo log del master con el comando SHOW MASTER STATUS.</li><li>Los archivos logs binarios del master desde ese momento hasta el presente.</li></ul><p>Hay muchas formas de aplicar la copia de los datos: cold copy, warm copy, mysqldump, lvm snapshot, etc. En este tutorial cubriremos esta:</p><ul><li><strong>Coldcopy:</strong> parar el master, hacer un trasvase de los archivos físicos del master hacia el slave. Levantar el MASTER otra vez, lo que comenzará un nuevo archivo de log binario y utilizar CHANGE MASTER TO para iniciar el SLAVE al principio del archivo de log binario.</li></ul><p>Esta forma tiene un inconveniente MUY CLARO, hay que parar el MASTER en algún momento. Siguiendo la info de <a
href="http://dev.mysql.com/doc/refman/5.1/en/replication-howto-masterstatus.html">http://dev.mysql.com/doc/refman/5.1/en/replication-howto-masterstatus.html</a> tenemos explicado lo mismo de otra forma, vamos a seguir estos pasos:</p><p><strong>3.1 Parada de servicio en MASTER y copia de datos</strong><br
/> Inicia el cliente de MySQL y haz flush de todas las tablas bloqueando los writes ejecutando. No abandonar la consola de MySQL:</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&gt;FLUSH TABLES WITH READ LOCK;</div></td></tr></tbody></table></div><p>Las tablas INNODB también bloquean las operaciones de COMMIT.</p><pre>Warning: Leave the client from which you issued the FLUSH TABLES statement
running so that the read lock remains in effect. If you exit the client, the lock is released.</pre><p>A continuación, en la misma consola, obtenemos la posición de nuestro MASTER después del bloqueo de las tablas:</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&gt; SHOW MASTER STATUS;<br
/> +---------------+----------+--------------+------------------+<br
/> | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |<br
/> +---------------+----------+--------------+------------------+<br
/> | mysql-bin.003 | 73 | test | manual,mysql |<br
/> +---------------+----------+--------------+------------------+</div></td></tr></tbody></table></div><p>La columna FILE muestra el nombre del archivo de log y la posición muestra el offset del archivo. En este ejemplo, el archivo de log binario es mysql-bin.003 y el offset es el 73. Graba esos valores. Tu necesitarás esto más tarde cuando configures el slave. Esto representa las coordenadas del archivo log en las cuales el slave comenzara a procesar las nuevas actualizaciones desde el master.</p><p>En otra sesión, empeazamos el volcado de datos a un archivo físico con mysqldump</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">shell&gt; mysqldump --all-databases --lock-all-tables &gt; dbdump.sql</div></td></tr></tbody></table></div><p>Cuando el proceso finaliza, desbloqueamos las tablas en la primera sesión abierta en los pasos anteriores</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&gt;UNLOCK TABLES;</div></td></tr></tbody></table></div><p>De nuevo en el SLAVE, deberemos importar y configurar</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">shell&gt; mysql -uuser -ppassword &amp;lt; dbdump.sql</div></td></tr></tbody></table></div><p>Una vez hecho esto, configuramos el SLAVE y comenzamos la replicación. Recuperamos los datos que guardamos previamente en el MASTER cuando hicimos el SHOW MASTER STATUS (punto 3).</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;mysql&gt; CHANGE MASTER TO MASTER_HOST='10.0.0.1', MASTER_USER='repl', MASTER_PASSWORD='replpassword', MASTER_LOG_FILE='mysql-bin.000001 ', MASTER_LOG_POS='103874 ';<br
/> mysql&gt; START SLAVE;</div></td></tr></tbody></table></div><p><strong>Actualización 30/8/2011: </strong> en la parte de esta query, MASTER_LOG_POS=nnnnn, no se ponen comillas, si las ponemos nos devuelve un error</p><p>Revisamos el estado de nuestro SLAVE</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/>8<br
/>9<br
/>10<br
/>11<br
/>12<br
/>13<br
/>14<br
/>15<br
/>16<br
/>17<br
/>18<br
/>19<br
/>20<br
/>21<br
/>22<br
/>23<br
/>24<br
/>25<br
/>26<br
/>27<br
/>28<br
/>29<br
/>30<br
/>31<br
/>32<br
/>33<br
/>34<br
/>35<br
/>36<br
/>37<br
/>38<br
/>39<br
/>40<br
/>41<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&gt; SHOW SLAVE STATUS\G<br
/> *************************** 1. row ***************************<br
/> Slave_IO_State: Waiting for master to send event<br
/> Master_Host:10.0.0.1<br
/> Master_User: slave<br
/> Master_Port: 3306<br
/> Connect_Retry: 60<br
/> Master_Log_File: mysql-bin.000001<br
/> Read_Master_Log_Pos: 951<br
/> Relay_Log_File: mysqld-relay-bin.000001<br
/> Relay_Log_Pos: 251<br
/> Relay_Master_Log_File: mysql-bin.000001<br
/> Slave_IO_Running: Yes<br
/> Slave_SQL_Running: Yes<br
/> Replicate_Do_DB:<br
/> Replicate_Ignore_DB:<br
/> Replicate_Do_Table:<br
/> Replicate_Ignore_Table:<br
/> Replicate_Wild_Do_Table:<br
/> Replicate_Wild_Ignore_Table:<br
/> Last_Errno: 0<br
/> Last_Error:<br
/> Skip_Counter: 0<br
/> Exec_Master_Log_Pos: 951<br
/> Relay_Log_Space: 407<br
/> Until_Condition: None<br
/> Until_Log_File:<br
/> Until_Log_Pos: 0<br
/> Master_SSL_Allowed: No<br
/> Master_SSL_CA_File:<br
/> Master_SSL_CA_Path:<br
/> Master_SSL_Cert:<br
/> Master_SSL_Cipher:<br
/> Master_SSL_Key:<br
/> Seconds_Behind_Master: 382<br
/> Master_SSL_Verify_Server_Cert: No<br
/> Last_IO_Errno: 0<br
/> Last_IO_Error:<br
/> Last_SQL_Errno: 0<br
/> Last_SQL_Error:<br
/> 1 row in set (0.00 sec)</div></td></tr></tbody></table></div><p>A partir de este momento, los &#8220;Second Behind Master&#8221; disminuirán progresivamenet hasta 0.</p><p><strong>Links</strong></p><ul><li><a
title="Replication HowTo MySQL" href="http://dev.mysql.com/doc/refman/5.1/en/replication-howto-masterstatus.html">http://dev.mysql.com/doc/refman/5.1/en/replication-howto-masterstatus.html</a></li><li><a
title="Replication HowTo MySQL DUMP" href="http://dev.mysql.com/doc/refman/5.1/en/replication-howto-mysqldump.html">http://dev.mysql.com/doc/refman/5.1/en/replication-howto-mysqldump.html</a></li></ul><p>&nbsp;</p></div> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2011/07/08/mysql-replicacion-master-a-slave/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>MySQL 5.5</title><link>http://www.rubenortiz.es/2011/05/24/mysql-5-5/</link> <comments>http://www.rubenortiz.es/2011/05/24/mysql-5-5/#comments</comments> <pubDate>Tue, 24 May 2011 11:56:58 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[mysql]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=4484</guid> <description><![CDATA[En otro post, trataremos la instalación de MySQL 5.5 en CentOS, que por cierto, la primera vez no es sencilla. MySQL 5.5 se convirtió en estable el 15 de diciembre de 2010. Ahora descubro que GA es Generally Available , vaya tela&#8230; En definitiva, algunos patchs de google incorporados a la suite 5.5, hacen más [...]]]></description> <content:encoded><![CDATA[<p>En otro post, trataremos la instalación de MySQL 5.5 en CentOS, que por cierto, la primera vez no es sencilla. MySQL 5.5 se convirtió en estable el 15 de diciembre de 2010. Ahora descubro que GA es Generally Available <img
src='http://www.rubenortiz.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , vaya tela&#8230; En definitiva, algunos patchs de google incorporados a la suite 5.5, hacen más que probable que 5.5 tenga un rendimiento bastante superior a otras versiones. Lo digo sin todavía haber hecho los pertinentes test. Pero tiene buenta pinta.<span
id="more-4484"></span></p><p><strong>Características principales</strong></p><p>El lanzamiento de MySQL 5.5 aporta mejoras en la personalización y escalabilidad.</p><p>Escalabilidad y mejora del rendimiento: MySQL Database y motor de almacenamiento InnoDB han sido mejorados para aportar un óptimo rendimiento y escalabilidad para aprovechar los últimos avances  en plataformas multi-CPU y multi-core (SMP).</p><p>En los entornos que soporten esta característica, se utilizan instrucciones atómicas de la CPU para mejorar el rendimiento de los RW-locks(mutex que permite múltiples lectores). Hay una variable de estado de MySQL que permite conocer si esta característica se soporta en nuestro sistema o instalación.</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&amp;gt; show status like 'Innodb_have_atomic%';<br
/> +-----------------------------+-------+<br
/> | Variable_name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Value |<br
/> +-----------------------------+-------+<br
/> | Innodb_have_atomic_builtins | ON &nbsp; &nbsp;|<br
/> +-----------------------------+-------+<br
/> 1 row in set (0.00 sec)</div></td></tr></tbody></table></div><p>Nuevas variables a configurar para mejorar el rendimiento en base a múltiples threads de lectura y de escritura</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/>8<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&amp;gt; show variables like 'innodb_%_io_threads';<br
/> +-------------------------+-------+<br
/> | Variable_name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Value |<br
/> +-------------------------+-------+<br
/> | innodb_read_io_threads &nbsp;| 4 &nbsp; &nbsp; |<br
/> | innodb_write_io_threads | 4 &nbsp; &nbsp; |<br
/> +-------------------------+-------+<br
/> 2 rows in set (0.00 sec)</div></td></tr></tbody></table></div><p>Disponemos de innodb_io_capacity, otro patch de google, que permite configurar el número de operaciones de entrada/salida por segundos. Anteriormente, limitada por defecto a 100, ahora aumentada a 200.</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&amp;gt; show variables like 'innodb_io_%';<br
/> +--------------------+-------+<br
/> | Variable_name &nbsp; &nbsp; &nbsp;| Value |<br
/> +--------------------+-------+<br
/> | innodb_io_capacity | 200 &nbsp; |<br
/> +--------------------+-------+<br
/> 1 row in set (0.00 sec)</div></td></tr></tbody></table></div><p>mysql&gt;</p><p>InnoDB motor por defecto: Ahora, desde la versión MySQL 5.5, InnoDB es el motor de almacenamiento por defecto de la base de datos MySQL, entrega de transacciones ACID, integridad referencial y sistema de recuperación de desastres.</p><p>Alta-Disponibilidad: nueva replicación semi-sincrona, se supone que el sistema de replicación es ahora más eficaz y consistente</p><p>Usabilidad mejorada: índices mejorados y particionamiento de tablas, soporte SIGNAL/RESIGNAL y diagnósticos mejorados, incluyendo un nuevo PERFORMANCE_SCHEMA, mejorada la administración de MySQL 5.5.</p><p><strong>Mejoras en el rendimiento</strong><br
/> Teóricamente, la suite MySQL 5.5 ofrece mejoras en el rendimiento versus la suite 5.1. Hasta un 360 % de ganancia en operaciones Read/Write y hasta 200 % de mejoras sólo en Read Only.</p><p><strong>Links</strong></p><ul><li><a
href="http://www.oracle.com/us/corporate/press/195726">http://www.oracle.com/us/corporate/press/195726</a></li><li><a
href="http://dev.mysql.com/doc/refman/5.5/en/smp-improvements.html">http://dev.mysql.com/doc/refman/5.5/en/smp-improvements.html</a></li><li><a
href="http://mysqlha.blogspot.com/2008/10/more-background-io-threads-for-innodb.html">http://mysqlha.blogspot.com/2008/10/more-background-io-threads-for-innodb.html</a></li><li><a
href="http://mysqlha.blogspot.com/2008/12/innodb-insert-performance.html">http://mysqlha.blogspot.com/2008/12/innodb-insert-performance.html</a></li><li><a
href="http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html">http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html</a></li><li><a
href="http://systemadmin.es/2011/01/mysql-5-5-nuevas-caracteristicas">http://systemadmin.es/2011/01/mysql-5-5-nuevas-caracteristicas</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2011/05/24/mysql-5-5/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>MySQL &#8211; optimizar base de datos</title><link>http://www.rubenortiz.es/2010/10/19/mysql-optimizar-base-de-datos/</link> <comments>http://www.rubenortiz.es/2010/10/19/mysql-optimizar-base-de-datos/#comments</comments> <pubDate>Tue, 19 Oct 2010 11:24:23 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[mysql]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=3674</guid> <description><![CDATA[Pequeño ejemplo para optimizar las tablas. El ejemplo es válido para instalaciones con Plesk pero vendría a ser algo así. Si encuentra tablas corruptas las reparará. 12345#!/bin/sh MYSQLCHECK=&#34;$(which mysqlcheck)&#34; USER=&#34;admin&#34; PASSWORD=&#34;$(cat /etc/psa/.psa.shadow)&#34; $MYSQLCHECK -Aao --auto-repair -u$USER -p$PASSWORD]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="size-full wp-image-2145 aligncenter" title="mysql_logo" src="http://www.rubenortiz.es/wp-content/uploads/2009/07/mysql_logo.jpg" alt="mysql_logo" width="293" height="170" /></p><p>Pequeño ejemplo para optimizar las tablas. El ejemplo es válido para instalaciones con Plesk pero vendría a ser algo así.</p><p>Si encuentra tablas corruptas las reparará.</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/bin/sh<br
/> MYSQLCHECK=&quot;$(which mysqlcheck)&quot;<br
/> USER=&quot;admin&quot;<br
/> PASSWORD=&quot;$(cat /etc/psa/.psa.shadow)&quot;<br
/> $MYSQLCHECK -Aao --auto-repair -u$USER -p$PASSWORD</div></td></tr></tbody></table></div> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2010/10/19/mysql-optimizar-base-de-datos/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>MySQL &#8211; Backup y restore III</title><link>http://www.rubenortiz.es/2010/10/19/mysql-backup-y-restore-iii/</link> <comments>http://www.rubenortiz.es/2010/10/19/mysql-backup-y-restore-iii/#comments</comments> <pubDate>Tue, 19 Oct 2010 09:59:20 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[mysql]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=3668</guid> <description><![CDATA[Script para backup sencillo de motor de base de datos mysql 1234567891011121314151617181920212223242526272829303132333435#!/bin/bash # Ruta en la que se guarda el log de la operacion de backup. logfile=&#34;/var/log/mysql.log&#34; # Ruta en la que guardar los backups backup_dir=&#34;/root/backup/mysql&#34; # Usuario username=&#34;&#34; password=&#34;&#34; # Creamos un nuevo log del proceso de backup rm -rf $logfile touch $logfile # [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="size-full wp-image-2145 aligncenter" title="mysql_logo" src="http://www.rubenortiz.es/wp-content/uploads/2009/07/mysql_logo.jpg" alt="mysql_logo" width="293" height="170" /></p><p>Script para backup sencillo de motor de base de datos mysql<br
/> <span
id="more-3668"></span></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/>8<br
/>9<br
/>10<br
/>11<br
/>12<br
/>13<br
/>14<br
/>15<br
/>16<br
/>17<br
/>18<br
/>19<br
/>20<br
/>21<br
/>22<br
/>23<br
/>24<br
/>25<br
/>26<br
/>27<br
/>28<br
/>29<br
/>30<br
/>31<br
/>32<br
/>33<br
/>34<br
/>35<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/bin/bash<br
/> # Ruta en la que se guarda el log de la operacion de backup.<br
/> logfile=&quot;/var/log/mysql.log&quot;<br
/> # Ruta en la que guardar los backups<br
/> backup_dir=&quot;/root/backup/mysql&quot;<br
/> # Usuario<br
/> username=&quot;&quot;<br
/> password=&quot;&quot;<br
/> # Creamos un nuevo log del proceso de backup<br
/> rm -rf $logfile<br
/> touch $logfile<br
/> # Mediante esta instruccion, generamos un nombre de fichero con el dia y la hor<br
/> timeslot=`date +%Y%m%d_%H%M`<br
/> timeslot2=`date +%d-%m-%y`<br
/> cd $backup_dir<br
/> mkdir $backup_dir/$timeslot2<br
/> cd $timeslot2<br
/> # Iteramos a traves de la lista de bases de datos a la que el usuario tiene acceso.<br
/> for BBDD in $( mysql -u $username --password=$password -h <br
/> localhost -Bse 'show databases' ); do<br
/> echo &quot;Creando copia de seguridad de $BBDD&quot;<br
/> # Volcamos la base de datos en un fichero temporal<br
/> mysqldump --user=$username --password=$password $BBDD &gt; datos.sql<br
/> # Y lo comprimimos en un tar.bz2 para ocupar lo mmnimo. <br
/> #Util en bases de datos grandes.<br
/> tar cvjf mysql-$BBDD-$timeslot.tar.bz2 *.sql<br
/> # El nombre del fichero resultante contiene el nombre de <br
/> la base de datos y la fecha de la copia.<br
/> # De esta manera, cuando sea necesaria su restauracion <br
/> sera mas sencillo de localizar.<br
/> echo &quot;Backup completo en la base de datos: $BBDD (mysql-$BBDD-$timeslot.tar.bz2)&quot;<br
/> &nbsp;&gt;&gt; $logfile<br
/> # Borramos el fichero temporal<br
/> rm datos.sql<br
/> done</div></td></tr></tbody></table></div> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2010/10/19/mysql-backup-y-restore-iii/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>MySQL &#8211; Innodb motor engine</title><link>http://www.rubenortiz.es/2010/08/26/mysql-innodb-motor-engine/</link> <comments>http://www.rubenortiz.es/2010/08/26/mysql-innodb-motor-engine/#comments</comments> <pubDate>Thu, 26 Aug 2010 13:39:06 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[mysql]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=3508</guid> <description><![CDATA[Me ha pasado una cosa curiosa. Entiendo que es más debido a un procedimiento que yo no conocía que a un bug, pero en todo caso, lo comento. Tenemos una instalación nueva, de MySQL, versión 5.077 en un CentOS 5, por ejemplo. Por defecto en la mayoría de instalaciones el motor de base de datos [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="size-full wp-image-2145 aligncenter" title="mysql_logo" src="http://www.rubenortiz.es/wp-content/uploads/2009/07/mysql_logo.jpg" alt="mysql_logo" width="293" height="170" /></p><p>Me ha pasado una cosa curiosa. Entiendo que es más debido a un procedimiento que yo no conocía que a un bug, pero en todo caso, lo comento.<br
/> <span
id="more-3508"></span><br
/> Tenemos una instalación nueva, de MySQL, versión 5.077 en un CentOS 5, por ejemplo. Por defecto en la mayoría de instalaciones el motor de base de datos será MyISAM. El caso es que importo una base de datos en las que las tablas son Innodb. Pero al entrar vía phpmyadmin veo que el motor que sale es MyISAM. Me sorprende porque no tenía puesto el</p><p>skip-innodb</p><p>en la configuración de MySQL. Otra pista, el phpmyadmin, en el link que te muestra los motores de almacenamiento me muestra 3, pero ninguno es  Innodb. Muy raro porque si entro por consola y ejecuto</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&amp;gt; show engines;<br
/> | InnoDB &nbsp; &nbsp; | YES &nbsp; &nbsp; &nbsp;| Supports transactions, row-level locking, and foreign keys</div></td></tr></tbody></table></div><p>me devuelve que si que está habilitado. La solución la encontré de chiripa porque no tenía ni idea de que estaba pasando. Para arreglarlo tuve que renombrar los ficheros de log innodb, de la siguiente forma.</p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># service mysqld stop<br
/> # mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bak<br
/> # mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bak<br
/> # service mysqld start</div></td></tr></tbody></table></div><p>En el mismo link donde un colega posteó la solución, otro tipo plantea la solución al dilema:</p><blockquote><p>I did a little research on why your solution works and it seems that though InnoDB is enabled by default, MySQL seems to disable it automatically if your InnoDB log files get corrupted. When you remove them, they are recreated, allowing InnoDB to start again.</p></blockquote><p><strong>Links</strong></p><ul><li><a
href="http://www.turnkeylinux.org/forum/support/20090111/drupal-6-problem-enable-innodb">http://www.turnkeylinux.org</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2010/08/26/mysql-innodb-motor-engine/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>MySQL &#8211; Configurar password root</title><link>http://www.rubenortiz.es/2010/06/09/mysql-configurar-password-root/</link> <comments>http://www.rubenortiz.es/2010/06/09/mysql-configurar-password-root/#comments</comments> <pubDate>Wed, 09 Jun 2010 09:08:28 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[mysql]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=3261</guid> <description><![CDATA[1&#60;strong&#62;# mysqladmin -u root password NEWPASSWORD&#60;/strong&#62;]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="size-full wp-image-2145 aligncenter" title="mysql_logo" src="http://www.rubenortiz.es/wp-content/uploads/2009/07/mysql_logo.jpg" alt="mysql_logo" width="293" height="170" /></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;strong&gt;# mysqladmin -u root password NEWPASSWORD&lt;/strong&gt;</div></td></tr></tbody></table></div> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2010/06/09/mysql-configurar-password-root/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>MySQL &#8211; Script optimización tablas</title><link>http://www.rubenortiz.es/2010/04/14/mysql-script-optimizacion-tablas/</link> <comments>http://www.rubenortiz.es/2010/04/14/mysql-script-optimizacion-tablas/#comments</comments> <pubDate>Wed, 14 Apr 2010 13:52:54 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[mysql]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=3106</guid> <description><![CDATA[Buen script que chequea todas las bbdds en busca de tablas MyISAM o INNODB y las optimiza. MySQLFragFinder.sh Links http://www.dufault.info/blog/a-script-to-optimize-fragmented-tables-in-mysql/]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="size-full wp-image-2145 aligncenter" title="mysql_logo" src="http://www.rubenortiz.es/wp-content/uploads/2009/07/mysql_logo.jpg" alt="mysql_logo" width="293" height="170" /></p><p>Buen script que chequea todas las bbdds en busca de tablas MyISAM o INNODB y las optimiza.</p><p><a
href="ftp://217.113.242.100/linux/mysql/mysqlfragfinder.sh.gz">MySQLFragFinder.sh</a></p><p>Links</p><p><a
href="http://www.dufault.info/blog/a-script-to-optimize-fragmented-tables-in-mysql/">http://www.dufault.info/blog/a-script-to-optimize-fragmented-tables-in-mysql/</a></p> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2010/04/14/mysql-script-optimizacion-tablas/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>MySQL &#8211; Copiar tabla</title><link>http://www.rubenortiz.es/2010/04/14/mysql-copiar-tabla/</link> <comments>http://www.rubenortiz.es/2010/04/14/mysql-copiar-tabla/#comments</comments> <pubDate>Wed, 14 Apr 2010 10:36:59 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[mysql]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=3097</guid> <description><![CDATA[12CREATE TABLE pruebas LIKE produccion; INSERT pruebas SELECT * FROM produccion; El primer comando crea una tabla como la que queremos copiar, el segundo, añade todo lo de la tabla objeto de copia a la nueva tabla creada en el primer comando.]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="size-full wp-image-2145 aligncenter" title="mysql_logo" src="http://www.rubenortiz.es/wp-content/uploads/2009/07/mysql_logo.jpg" alt="mysql_logo" width="293" height="170" /></p><div
class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/></div></td><td><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CREATE TABLE pruebas LIKE produccion;<br
/> INSERT pruebas SELECT * FROM produccion;</div></td></tr></tbody></table></div><p>El primer comando crea una tabla como la que queremos copiar, el segundo, añade todo lo de la tabla objeto de copia a la nueva tabla creada en el primer comando.</p> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2010/04/14/mysql-copiar-tabla/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>MYSQL &#8211; Backup de procedures</title><link>http://www.rubenortiz.es/2010/02/01/mysql-backup-de-procedures/</link> <comments>http://www.rubenortiz.es/2010/02/01/mysql-backup-de-procedures/#comments</comments> <pubDate>Mon, 01 Feb 2010 12:20:42 +0000</pubDate> <dc:creator>Rubén Ortiz</dc:creator> <category><![CDATA[MySql]]></category> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.rubenortiz.es/?p=2809</guid> <description><![CDATA[Cuando hacemos uso de mysqldump, para hacer backup de nuestras bases de datos, por defecto, se incluyen los triggers pero no las procedures. Para hacer backup completo de las bases de datos y añadir las procedures, hemos de añadir el parámetro &#8220;- -routines&#8221; # mysqldump &#8211;routines > datos.sql Para hacer backup SÓLO de las procedures: [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="size-full wp-image-2145 aligncenter" title="mysql_logo" src="http://www.rubenortiz.es/wp-content/uploads/2009/07/mysql_logo.jpg" alt="mysql_logo" width="293" height="170" /></p><p>Cuando hacemos uso de mysqldump, para hacer backup de nuestras bases de datos, por defecto, se incluyen los triggers pero no las procedures.<br
/> <span
id="more-2809"></span></p><p>Para hacer backup completo de las bases de datos y añadir las procedures, hemos de añadir el parámetro &#8220;- -routines&#8221;</p><p><strong># mysqldump <otras
opciones de mysql> &#8211;routines<base
de datos> > datos.sql</strong></p><p>Para hacer backup SÓLO de las procedures:</p><p><strong># mysqldump &#8211;no-create-info &#8211;no-data &#8211;no-create-db &#8211;skip-opt &#8211;routines<base
de datos> > datos.sql</strong></p> ]]></content:encoded> <wfw:commentRss>http://www.rubenortiz.es/2010/02/01/mysql-backup-de-procedures/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Dynamic Page Served (once) in 0.406 seconds -->

