{"id":27801,"date":"2021-05-15T19:55:00","date_gmt":"2021-05-15T16:55:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27801"},"modified":"2021-10-17T17:06:26","modified_gmt":"2021-10-17T14:06:26","slug":"como-hacer-una-copia-de-seguridad-de-su-base-de-datos-mysql-usando-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-hacer-una-copia-de-seguridad-de-su-base-de-datos-mysql-usando-php\/","title":{"rendered":"C\u00f3mo hacer una copia de seguridad de su base de datos MySQL usando PHP"},"content":{"rendered":"<p>\u00bfEst\u00e1 buscando realizar una copia de seguridad de la base de datos en sus proyectos PHP? Siempre se recomienda hacer una copia de seguridad de su base de datos peri\u00f3dicamente. Al hacerlo, los datos de su sitio siempre estar\u00e1n seguros en caso de que ocurra alg\u00fan problema en su base de datos. En este art\u00edculo, le mostramos c\u00f3mo hacer una copia de seguridad de la base de datos MySQL peri\u00f3dicamente y almacenarla en su servidor.<\/p>\n<p>Este art\u00edculo est\u00e1 escrito para los proyectos que est\u00e1n integrados en PHP central y no con ning\u00fan CMS o Framework. El CMS como WordPress tiene varios complementos disponibles como UpdraftPlus para hacer una <a href=\"https:\/\/themewp.inform.click\/es\/como-almacenar-la-copia-de-seguridad-de-wordpress-en-dropbox-automaticamente\/\" title=\"copia de seguridad de la base de datos\" >copia de seguridad de la base de datos<\/a>. En los sitios web de Laravel, el usuario puede usar paquetes como <a href=\"https:\/\/themewp.inform.click\/es\/como-realizar-una-copia-de-seguridad-de-la-aplicacion-laravel\/\" title=\"laravel-backup\" >laravel-backup<\/a> para los mismos prop\u00f3sitos.<\/p>\n<p><a href=\"https:\/\/spatie.be\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">El<\/a> equipo de <a href=\"https:\/\/spatie.be\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Spatie<\/a> ha desarrollado el <a href=\"https:\/\/github.com\/spatie\/db-dumper\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">paquete<\/a> que es \u00fatil para realizar copias de seguridad de bases de datos en proyectos PHP centrales. Este paquete proporciona soporte para MySQL, PostgreSQL, SQLite y MongoDB. Discutiremos la base de datos MySQL en este art\u00edculo. Dicho esto, echemos un vistazo a c\u00f3mo funciona este paquete para hacer una copia de seguridad de su base de datos.<\/p>\n<h3>Copia de seguridad de base de datos MySQL usando PHP<\/h3>\n<p>Antes de continuar, aseg\u00farese de tener las credenciales de su base de datos y de que <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> est\u00e9 instalado en su sistema.<\/p>\n<p>A continuaci\u00f3n, abra la terminal en el directorio ra\u00edz de su proyecto y ejecute el siguiente comando para instalar el paquete.<\/p>\n<pre><code>composer require spatie\/db-dumper<\/code><\/pre>\n<p>Tras la instalaci\u00f3n del paquete, cree un directorio <code>db-backups<\/code>(puede dar cualquier nombre) donde pueda almacenar sus archivos de respaldo SQL. Tambi\u00e9n cree un archivo <code>backup-database.php<\/code>y agregue el c\u00f3digo a continuaci\u00f3n.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\nSpatieDbDumperDatabasesMySql::create()\n\u00a0\u00a0\u00a0\u00a0-&gt;setDbName('DB_NAME')\n\u00a0\u00a0\u00a0\u00a0-&gt;setUserName('DB_USER_NAME')\n\u00a0\u00a0\u00a0\u00a0-&gt;setPassword('DB_PASSWORD')\n\u00a0\u00a0\u00a0\u00a0-&gt;dumpToFile('db-backups\/'.time().'_dump.sql');<\/code><\/pre>\n<p>Aseg\u00farese de reemplazar los marcadores de posici\u00f3n con los valores reales. En el c\u00f3digo anterior, agregamos la hora actual al archivo SQL para mantener distintos nombres de archivo. Volcar\u00e1 su base de datos y la almacenar\u00e1 en el archivo SQL dado.<\/p>\n<p>El paquete ofrece m\u00e1s opciones al descargar la base de datos. Por ejemplo, puede excluir tablas espec\u00edficas de la copia de seguridad proporcionando la matriz de exclusi\u00f3n de tablas como se muestra a continuaci\u00f3n.<\/p>\n<pre><code>&lt;?php\nSpatieDbDumperDatabasesMySql::create()\n\u00a0\u00a0\u00a0\u00a0-&gt;setDbName('DB_NAME')\n\u00a0\u00a0\u00a0\u00a0-&gt;setUserName('DB_USER_NAME')\n\u00a0\u00a0\u00a0\u00a0-&gt;setPassword('DB_PASSWORD')\n\u00a0\u00a0\u00a0\u00a0-&gt;excludeTables(['table1', 'table2', 'table3'])\n\u00a0\u00a0\u00a0\u00a0-&gt;dumpToFile('db-backups\/'.time().'_dump.sql');<\/code><\/pre>\n<h3>Copia de seguridad autom\u00e1tica de la base de datos MySQL<\/h3>\n<p>Hasta ahora, tiene un archivo PHP que realiza una copia de seguridad de su base de datos. Lo siguiente que debe hacer es automatizar el proceso de copia de seguridad para que pueda obtener sus copias de seguridad sin ejecutar el script manualmente.<\/p>\n<p>Cuando aloja un sitio en el servidor, su proveedor de alojamiento le proporciona un cPanel donde puede ver las opciones b\u00e1sicas y avanzadas para administrar el sitio web. Una caracter\u00edstica que proporcionaron es &#8216;Cron Jobs&#8217;. Los trabajos cron le permiten ejecutar un script espec\u00edfico (archivo PHP) en un cierto intervalo en segundo plano. Todo lo que necesita hacer es establecer un intervalo y pasar una ruta de directorio del archivo PHP. Despu\u00e9s de esto, su servidor ejecuta su script en segundo plano en los intervalos especificados.<\/p>\n<p>Para configurar un Cron, inicie sesi\u00f3n en su cPanel y haga clic en &#8216;Cron Jobs&#8217; que puede encontrar en la secci\u00f3n &#8216;avanzado&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20601-60820cd083738.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20601-60820cd083738.png\" alt=\"C\u00f3mo hacer una copia de seguridad de su base de datos MySQL usando PHP\" ><\/a><\/p>\n<p>En la p\u00e1gina siguiente, en la secci\u00f3n &quot;Agregar un nuevo trabajo cron&quot;, elija el men\u00fa desplegable &quot;Una vez al d\u00eda&quot; para &quot;Configuraci\u00f3n com\u00fan&quot;. Significa que su secuencia de comandos se ejecutar\u00e1 una vez al d\u00eda. El usuario puede establecer cualquier intervalo seg\u00fan el requisito.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20601-60820cd11b583.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20601-60820cd11b583.png\" alt=\"C\u00f3mo hacer una copia de seguridad de su base de datos MySQL usando PHP\" ><\/a><\/p>\n<p>En la secci\u00f3n de comandos, pase la ruta del archivo PHP de la siguiente manera:<\/p>\n<pre><code>php \/home\/username\/public_html\/backup-database.php<\/code><\/pre>\n<p>Ajuste la ruta del script seg\u00fan sus configuraciones de alojamiento y env\u00edelo. Despu\u00e9s de esto, su servidor comienza a ejecutar un script todos los d\u00edas a la medianoche. Y este script almacenar\u00e1 autom\u00e1ticamente su base de datos MySQL en el directorio especificado (por ejemplo, db-backups).<\/p>\n<p>Esperamos que comprenda c\u00f3mo hacer una copia de seguridad de la base de datos MySQL en PHP y automatizar el proceso usando Cron. Nos gustar\u00eda escuchar sus pensamientos o sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo, estudiamos c\u00f3mo hacer una copia de seguridad de la base de datos MySQL usando PHP y automatizar el proceso a trav\u00e9s de Cron Jobs. Al hacerlo, obtendr\u00e1 su base de datos<\/p>\n","protected":false},"author":1,"featured_media":21761,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[271],"tags":[849],"class_list":["post-27801","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=27801"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27801\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21761"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=27801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=27801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=27801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}