<?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>Yvoictra Blog &#187; MySQL</title>
	<atom:link href="http://egomezm.es/blog/category/software/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://egomezm.es/blog</link>
	<description>El blog personal de Enrique Gómez (AKA yvoictra)</description>
	<lastBuildDate>Sun, 22 Apr 2012 23:12:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Table is marked as crashed and should be repaired</title>
		<link>http://egomezm.es/blog/2010/07/11/table-is-marked-as-crashed-and-should-be-repaired/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=table-is-marked-as-crashed-and-should-be-repaired</link>
		<comments>http://egomezm.es/blog/2010/07/11/table-is-marked-as-crashed-and-should-be-repaired/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 09:28:29 +0000</pubDate>
		<dc:creator>yvoictra</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[auto-repair]]></category>
		<category><![CDATA[crashed]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[mysqlcheck]]></category>
		<category><![CDATA[repair]]></category>

		<guid isPermaLink="false">http://yvoictra.wordpress.com/?p=342</guid>
		<description><![CDATA[TweetHace poco me encontré un error en una aplicación que tengo con Perl en la que realiza SELECTs, DELETEs y UPDATEs en una BBDD MySQL. El error lo provocaba MySQL e indicaba lo siguiente: Error : Table './base_de_datos/nombre_de_tabla' is marked as crashed and should be repaired Esto se puede solucionar de varias maneras. En esta [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton422" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fegomezm.es%2Fblog%2F2010%2F07%2F11%2Ftable-is-marked-as-crashed-and-should-be-repaired%2F&amp;via=yvoictra&amp;text=Table%20is%20marked%20as%20crashed%20and%20should%20be%20repaired%20-%20Yvoictra%20Blog&amp;related=yvoictra&amp;lang=es&amp;count=horizontal&amp;counturl=http%3A%2F%2Fegomezm.es%2Fblog%2F2010%2F07%2F11%2Ftable-is-marked-as-crashed-and-should-be-repaired%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://egomezm.es/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Hace poco me encontré un error en una aplicación que tengo con Perl en la que realiza SELECTs, DELETEs y UPDATEs en una BBDD <strong>MySQL</strong>.</p>
<p>El error lo provocaba <strong>MySQL</strong> e indicaba lo siguiente:</p>
<p><code>Error    : Table './base_de_datos/nombre_de_tabla' is marked as crashed and should be repaired</code></p>
<p>Esto se puede solucionar de varias maneras. En esta entrada describiremos cómo solucionarlo utilizando las herramientas que proporciona MySQL.</p>
<p>Utilizando el comando &#8220;mysqlcheck&#8221; chequea y repara si está corrupta:</p>
<p><code>[root@coloso01]# ./mysql/bin/mysqlcheck --auto-repair base_de_datos nombre_de_tabla -u usuario -p<br />
Enter password:<br />
base_de_datos.nombre_de_tabla<br />
warning  : Table is marked as crashed<br />
warning  : 4 clients are using or haven't closed the table properly<br />
error    : Record-count is not ok; is 112323   Should be: 112803<br />
warning  : Found 33620 deleted space.   Should be 0<br />
warning  : Found 480 deleted blocks       Should be: 0<br />
error    : Corrupt</code></p>
<p>Es conveniente hacer backup de la BBDD antes de hacer cualquier cambio.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="medium" count="1" href="http://egomezm.es/blog/2010/07/11/table-is-marked-as-crashed-and-should-be-repaired/">{lang: 'es'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://egomezm.es/blog/2010/07/11/table-is-marked-as-crashed-and-should-be-repaired/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo resetear un autoincremental en MySQL</title>
		<link>http://egomezm.es/blog/2009/10/24/como-resetear-un-autoincremental-en-mysql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-resetear-un-autoincremental-en-mysql</link>
		<comments>http://egomezm.es/blog/2009/10/24/como-resetear-un-autoincremental-en-mysql/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 11:48:06 +0000</pubDate>
		<dc:creator>yvoictra</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[alter]]></category>
		<category><![CDATA[autoincrement]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[truncate]]></category>

		<guid isPermaLink="false">http://yvoictra.wordpress.com/?p=250</guid>
		<description><![CDATA[TweetEn las BBDD es típico utilizar la función de autoincrementar las claves primarias de las tablas. De este modo se consigue que se vaya incrementando el campo en cada nueva tupla. Si necesitamos borrar la tabla, y que además este valor se resetee, para volver a comenzar con 1, la opción más sencilla es ejecutar [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton409" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fegomezm.es%2Fblog%2F2009%2F10%2F24%2Fcomo-resetear-un-autoincremental-en-mysql%2F&amp;via=yvoictra&amp;text=C%C3%B3mo%20resetear%20un%20autoincremental%20en%20MySQL%20-%20Yvoictra%20Blog&amp;related=yvoictra&amp;lang=es&amp;count=horizontal&amp;counturl=http%3A%2F%2Fegomezm.es%2Fblog%2F2009%2F10%2F24%2Fcomo-resetear-un-autoincremental-en-mysql%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://egomezm.es/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>En las BBDD es típico utilizar la función de autoincrementar las claves primarias de las tablas. De este modo se consigue que se vaya incrementando el campo en cada nueva tupla.</p>
<p>Si necesitamos borrar la tabla, y que además este valor se resetee, para volver a comenzar con 1, la opción más sencilla es ejecutar la siguiente sentencia:</p>
<p><code>TRUNCATE nombre_tabla;</code></p>
<p>Con esto conseguimos vaciar la tabla, como si hubieramos hecho de nuevo el <em>CREATE TABLE</em>.</p>
<p>Si lo que necesitamos es hacer que el valor autoincremental tome un valor determinado es posible utilizar la siguiente sentencia, que establece un valor para la siguiente tupla.</p>
<p><code>ALTER TABLE nombre_tabla AUTO_INCREMENT=1</code></p>
<p>Con esto conseguimos resetear el campo autoincrementable. Ojo, si existen registros con el valor que hemos asignado, continuará por el último&#8230;</p>
<p><a href="http://www.eslomas.com/index.php/archives/2008/12/02/como-resetear-un-autoincremental-en-mysql">Fuente</a>.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="medium" count="1" href="http://egomezm.es/blog/2009/10/24/como-resetear-un-autoincremental-en-mysql/">{lang: 'es'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://egomezm.es/blog/2009/10/24/como-resetear-un-autoincremental-en-mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setencias MySQL directamente desde la terminal</title>
		<link>http://egomezm.es/blog/2009/09/27/setencias-mysql-directamente-desde-la-terminal/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setencias-mysql-directamente-desde-la-terminal</link>
		<comments>http://egomezm.es/blog/2009/09/27/setencias-mysql-directamente-desde-la-terminal/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 21:56:57 +0000</pubDate>
		<dc:creator>yvoictra</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[BBDD]]></category>
		<category><![CDATA[sentencias SQL]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://yvoictra.wordpress.com/?p=242</guid>
		<description><![CDATA[TweetHoy he descubierto un modo interesante, y sobretodo ágil para ejecutar sentencias de MySQL directamente en la terminal de comandos del SSOO, sin tener que estar dentro del propio sistemas de gestión de BBDD. La sentencia en concreto sería: [root@coloso01:~]# mysql -umiusuario -pmipassword -e 'select * from mi_tabla where fecha &#62; "2009-09-17 17:00:00";' mi_base_de_datos donde: [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton407" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fegomezm.es%2Fblog%2F2009%2F09%2F27%2Fsetencias-mysql-directamente-desde-la-terminal%2F&amp;via=yvoictra&amp;text=Setencias%20MySQL%20directamente%20desde%20la%20terminal%20-%20Yvoictra%20Blog&amp;related=yvoictra&amp;lang=es&amp;count=horizontal&amp;counturl=http%3A%2F%2Fegomezm.es%2Fblog%2F2009%2F09%2F27%2Fsetencias-mysql-directamente-desde-la-terminal%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://egomezm.es/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Hoy he descubierto un modo interesante, y sobretodo ágil para ejecutar sentencias de MySQL directamente en la terminal de comandos del SSOO, sin tener que estar dentro del propio sistemas de gestión de BBDD.</p>
<p>La sentencia en concreto sería:</p>
<p><code>[root@coloso01:~]# mysql -umiusuario -pmipassword -e 'select * from mi_tabla where fecha &gt; "2009-09-17 17:00:00";' mi_base_de_datos</code></p>
<p>donde:</p>
<ul>
<li>-u: indica el usuario de acceso a la BBDD.</li>
<li>-p: indica la password de acceso a la BBDD.</li>
</ul>
<p>El único problema que le veo a esto, es que en el histórico se quedan almacenados tanto el usuario como la password de la BBDD, lo cuál puede ser un agujero de seguridad&#8230;</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="medium" count="1" href="http://egomezm.es/blog/2009/09/27/setencias-mysql-directamente-desde-la-terminal/">{lang: 'es'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://egomezm.es/blog/2009/09/27/setencias-mysql-directamente-desde-la-terminal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>1o cosas que quizás no sepas de MySQL</title>
		<link>http://egomezm.es/blog/2009/05/10/10_cosas_quizas_no_sepas_mysql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=10_cosas_quizas_no_sepas_mysql</link>
		<comments>http://egomezm.es/blog/2009/05/10/10_cosas_quizas_no_sepas_mysql/#comments</comments>
		<pubDate>Sun, 10 May 2009 16:24:58 +0000</pubDate>
		<dc:creator>yvoictra</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://yvoictra.wordpress.com/?p=201</guid>
		<description><![CDATA[TweetCharla sobre algunas curiosidades y utilidades de MySQL, bastante interesante. {lang: 'es'}]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton201" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fegomezm.es%2Fblog%2F2009%2F05%2F10%2F10_cosas_quizas_no_sepas_mysql%2F&amp;via=yvoictra&amp;text=1o%20cosas%20que%20quiz%C3%A1s%20no%20sepas%20de%20MySQL%20-%20Yvoictra%20Blog&amp;related=yvoictra&amp;lang=es&amp;count=horizontal&amp;counturl=http%3A%2F%2Fegomezm.es%2Fblog%2F2009%2F05%2F10%2F10_cosas_quizas_no_sepas_mysql%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://egomezm.es/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a href="http://egomezm.es/blog/2009/05/10/10_cosas_quizas_no_sepas_mysql/"><em>Pinche aquí para ver el vídeo</em></a></p>
<p>Charla sobre algunas curiosidades y utilidades de <strong>MySQL</strong>, bastante interesante.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="medium" count="1" href="http://egomezm.es/blog/2009/05/10/10_cosas_quizas_no_sepas_mysql/">{lang: 'es'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://egomezm.es/blog/2009/05/10/10_cosas_quizas_no_sepas_mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Administrar usuarios de MySQL</title>
		<link>http://egomezm.es/blog/2008/10/26/administrar-usuarios-de-mysql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=administrar-usuarios-de-mysql</link>
		<comments>http://egomezm.es/blog/2008/10/26/administrar-usuarios-de-mysql/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 21:52:24 +0000</pubDate>
		<dc:creator>yvoictra</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://yvoictra.wordpress.com/?p=100</guid>
		<description><![CDATA[TweetPara administrar los usuarios de una base de datos de mysql, existen los siguientes comandos: mysql&#62; use mysql; Database Changed mysql&#62; set password for 'elforum'@'localhost' = password('98m4@9er'); Query OK, 0 rows affected (0.00 sec) mysql&#62; set password for 'mysysad'@'localhost' = password('950v4.Kr'); Query OK, 0 rows affected (0.00 sec) Y para mostrar los usuarios, y las [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton392" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fegomezm.es%2Fblog%2F2008%2F10%2F26%2Fadministrar-usuarios-de-mysql%2F&amp;via=yvoictra&amp;text=Administrar%20usuarios%20de%20MySQL%20-%20Yvoictra%20Blog&amp;related=yvoictra&amp;lang=es&amp;count=horizontal&amp;counturl=http%3A%2F%2Fegomezm.es%2Fblog%2F2008%2F10%2F26%2Fadministrar-usuarios-de-mysql%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://egomezm.es/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Para administrar los usuarios de una base de datos de mysql, existen los siguientes comandos:</p>
<p><code>mysql&gt; use mysql;<br />
Database Changed<br />
mysql&gt; set password for 'elforum'@'localhost' = password('98m4@9er');<br />
Query OK, 0 rows affected (0.00 sec)<br />
mysql&gt; set password for 'mysysad'@'localhost' = password('950v4.Kr');<br />
Query OK, 0 rows affected (0.00 sec)</code></p>
<p>Y para mostrar los usuarios, y las passwords asociadas&#8230;</p>
<p><code>mysql&gt; SELECT user, password FROM user;<br />
+---------------+-------------------------------------------+<br />
| user          | password                                  |<br />
+---------------+-------------------------------------------+<br />
...<br />
| elforum |   *EAE7DE143B1B9598745AD571885A98E723ABE9056 |<br />
| mysysad | *Ebe7D596878627EDD581EADEFSA98E723ABE9C58 |<br />
...</code></p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="medium" count="1" href="http://egomezm.es/blog/2008/10/26/administrar-usuarios-de-mysql/">{lang: 'es'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://egomezm.es/blog/2008/10/26/administrar-usuarios-de-mysql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Copiar y restaurar base de datos de MySQL</title>
		<link>http://egomezm.es/blog/2008/02/20/copiar-y-restaurar-base-de-datos-de-mysql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=copiar-y-restaurar-base-de-datos-de-mysql</link>
		<comments>http://egomezm.es/blog/2008/02/20/copiar-y-restaurar-base-de-datos-de-mysql/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 22:24:15 +0000</pubDate>
		<dc:creator>yvoictra</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://yvoictra.wordpress.com/?p=40</guid>
		<description><![CDATA[TweetLo primero que hay que hacer es hacer un backup de la base de datos, para ello usaremos el comando mysqldump. $ mysqldump --add-drop-table -u root -p dbname &#62;~/db_name.sql donde&#8230; root, es el usuario de la base de datos. dbname, es el nombre de la base de datos que queremos usar. y ~/db_name.sql es la [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton378" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fegomezm.es%2Fblog%2F2008%2F02%2F20%2Fcopiar-y-restaurar-base-de-datos-de-mysql%2F&amp;via=yvoictra&amp;text=Copiar%20y%20restaurar%20base%20de%20datos%20de%20MySQL%20-%20Yvoictra%20Blog&amp;related=yvoictra&amp;lang=es&amp;count=horizontal&amp;counturl=http%3A%2F%2Fegomezm.es%2Fblog%2F2008%2F02%2F20%2Fcopiar-y-restaurar-base-de-datos-de-mysql%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://egomezm.es/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Lo primero que hay que hacer es hacer un backup de la base de datos, para ello usaremos el comando <strong>mysqldump</strong>.</p>
<p><code>$ mysqldump --add-drop-table -u root -p dbname &gt;~/db_name.sql</code></p>
<p>donde&#8230;</p>
<p><strong>root</strong>, es el usuario de la base de datos.</p>
<p><strong>dbname</strong>,  es el nombre de la base de datos que queremos usar.</p>
<p>y  <strong>~/db_name.sql</strong> es la ruta del fichero donde se guardará el backup.</p>
<p>Una vez hecho esto, podemos restaurar la base de datos, por ejemplo, en otra máquina. Para ello primero arrancamos <strong>mysql</strong>:</p>
<p><code>$ mysql -u root -p<br />
Enter password:<br />
Welcome to the MySQL monitor.  Commands end with ; or g.<br />
Your MySQL connection id is 5<br />
Server version: 5.0.45-Debian_1ubuntu3.1-log Debian etch distribution<br />
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.<br />
mysql&gt; <strong>create database dbname_copy</strong><br />
mysql&gt; <strong>use dbname_copy</strong></code></p>
<p>recuerda que &#8220;<em>mysql&gt;</em>&#8221; es el prompt que interpreta los comando de mysql..</p>
<p>ahora para restaurarla usamos el siguiente código:</p>
<p><code>mysql&gt; source  ~/db_name.sql</code></p>
<p>Y ya estaría copiada. Estos últimos pasos también se podrían haber hecho de la siguiente forma:</p>
<p><code>mysql -u root -p dbname &lt; ~/db_name.sql</code></p>
<p>Sería muy buena idea que se hiciera un backup diario de la BBDD (Con algún cron, por ejemplo) de modo que podamos restaurar la BBDD sin perder mucho margen de datos, y teniéndo el backup automático.</p>
<p>Fuente: <a href="http://inocuo.net/2007/01/15/copiar-y-restaurar-bases-de-datos-mysql-a-traves-de-ssh/">inocuo.net</a> y <a href="http://www.ivorde.ro/How_to_copy_a_mysql_database_using_mysqldump-22.html">ivorde.ro</a></p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="medium" count="1" href="http://egomezm.es/blog/2008/02/20/copiar-y-restaurar-base-de-datos-de-mysql/">{lang: 'es'}</g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://egomezm.es/blog/2008/02/20/copiar-y-restaurar-base-de-datos-de-mysql/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

