{"id":2971,"date":"2022-11-28T17:52:09","date_gmt":"2022-11-28T16:52:09","guid":{"rendered":"https:\/\/www.jmarior.net\/itank\/?p=2971"},"modified":"2022-11-29T10:59:24","modified_gmt":"2022-11-29T09:59:24","slug":"mysql-crear-restaurar-y-ejecutar-sql-por-linea-de-comandos","status":"publish","type":"post","link":"https:\/\/www.jmarior.net\/itank\/mysql-crear-restaurar-y-ejecutar-sql-por-linea-de-comandos\/","title":{"rendered":"MySQL: Crear, restaurar y ejecutar SQL por l\u00ednea de comandos"},"content":{"rendered":"<p>Me vi en la necesidad de restaurar una tabla de 11 millones de registros y 2.5 GB en un script SQL, m\u00e1rgenes que exced\u00edan de la capacidad de phpMyAdmin. As\u00ed que explico c\u00f3mo hacerlo por l\u00ednea de comandos:<\/p>\n<p><strong>Crear una base de datos por l\u00ednea de comandos:<\/strong><\/p>\n<p><code>mysqladmin -u Usuario -pContrase\u00f1a create NombreBaseDeDatos<\/code><\/p>\n<p>D\u00f3nde<br \/>\n&#8211; Usuario, no requiere el @localhost, por ejemplo: root<br \/>\n&#8211; pContrase\u00f1a Es importante ponerla a continuaci\u00f3n del -p sin espacios<\/p>\n<p><strong>Ejecutar un script SQL<\/strong> -enorme- <strong>sobre la base de datos por l\u00ednea de comandos:<\/strong><\/p>\n<p><code>mysql -u Usuario -pContrase\u00f1a NombreBaseDeDatos &lt; millonesDeInserts.sql <\/code><\/p>\n<p><strong>Monitorizar mediante SQL por l\u00ednea de comandos<\/strong> la evoluci\u00f3n de esta barbaridad de inserciones, us\u00e9 la combinaci\u00f3n de varios comandos:<\/p>\n<ol>\n<li>Envi\u00e9 la tarea mysql en ejecuci\u00f3n al background: pulsando Control + Z para congelarla y ejecutando bg para que continue en segundo plano. Esto es de los inicios de Unix, as\u00ed que para m\u00e1s info, mejor lee un manual de la shell Bash.<\/li>\n<li><strong>Ejecutar una sentencia SELECT por l\u00ednea de comandos<\/strong><\/li>\n<li>y hacerlo con periodicidad de 2 segundos (watch es uno de esos m\u00edticos comandos que tambi\u00e9n deber\u00edas conocer)<\/li>\n<\/ol>\n<blockquote><p><code>watch -n 2 'mysql -u Usuario -pContrase\u00f1a -D NombreBaseDeDatos -e \"select count(*) Num from tabla;'<\/code><\/p><\/blockquote>\n<p>Como resultado, veremos el n\u00famero de registros insertados con un tiempo de refresco de 2 segundos.<\/p>\n<p>M\u00e1s sobre <a href=\"https:\/\/www.shellhacks.com\/mysql-run-query-bash-script-linux-command-line\/\">MySQL: Run Query from Bash Script or Linux Command Line<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Me vi en la necesidad de restaurar una tabla de 11 millones de registros y 2.5 GB en un script SQL, m\u00e1rgenes que exced\u00edan de la capacidad de phpMyAdmin. As\u00ed que explico c\u00f3mo hacerlo por l\u00ednea de comandos: Crear una base de datos por l\u00ednea de comandos: mysqladmin -u Usuario -pContrase\u00f1a create NombreBaseDeDatos D\u00f3nde &#8211; [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2973,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[10,1978,55,2030],"class_list":["post-2971","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-itank-ideas","tag-command-line","tag-linea-de-comandos","tag-mysql","tag-sql"],"views":304,"_links":{"self":[{"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/posts\/2971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/comments?post=2971"}],"version-history":[{"count":0,"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/posts\/2971\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/media\/2973"}],"wp:attachment":[{"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/media?parent=2971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/categories?post=2971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jmarior.net\/itank\/wp-json\/wp\/v2\/tags?post=2971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}