WordPress utiliza MySQL, un sistema de administración de bases de datos de código abierto, para almacenar y asumir toda la información de su sitio, desde sus publicaciones y páginas hasta sus comentarios. Verlo, piense en la base de datos de su sitio como una oficina de archivos y en MySQL como la compañía que lo creó. MySQL es una opción de base de datos popular para aplicaciones web: ¡Joomla! Y Drupal lo uso y, según Wikipedia, muchas compañías de alto perfil como Google, Facebook, Twitter, Flickr y YouTube lo usan.
Entonces, ¿cómo funciona exactamente MySQL con WordPress? En este artículo, presentaré todo lo que necesita saber sobre MySQL y cómo interactúa con WordPress, incluida la arquitectura de la base de datos, los motores de almacenamiento, las técnicas de optimización y las mejores prácticas para la optimización y la gestión de la base de datos. ¿Qué es mysql? MySQL es un componente central en la pila de aplicaciones web de código abierto que se utiliza para crear sitios web. La lámpara significa Linux, Apache, MySQL y PHP. MySQL también se usa en LEMP Stack, que reemplaza a Apache para Ningin (pronunciado Engine-X).
WordPress usa PHP para almacenar y tomar datos de las bases de datos MySQL, utilizando consultas SQL dentro del marcado de PHP. Por ejemplo, si usted es miembro de un sitio miembro basado en WordPress, SQL se usa para iniciar sesión, para hacerse cargo de su ID de membresía única, para verificar si tiene un miembro activo y para asegurarse de que se muestren los datos del perfil correcto en la cara. -El fin. PHP y SQL trabajan de la mano con WordPress, lo que le permite crear contenido dinámico basado en muchos factores diferentes, como ID de usuario y roles. Esto le permite hacer cosas como ocultar o mostrar el contenido de ciertos usuarios, como administradores, editores y suscriptores. Sin SQL y MySQL, todo esto no sería posible. Los planges y los temas también usan su base de datos para almacenar datos, como opciones, luego use SQL en PHP Marking para cuestionar la base de datos y eliminar el contenido dinámicamente. Vale la pena mencionar que si tiene un sitio web pequeño (es decir, un blog sobre su gato), realmente no tiene que meterse con SQL. Solo cuando trabajar en sitios web a nivel empresarial se vuelve esencial para tener conocimiento SQL. Arquitectura de base de datos de WordPress o: tablas, tablas, tablas para ayudarlo a comprender cómo funciona exactamente WordPress con MySQL, para viajar las tablas que WordPress almacena en una base de datos típica.
WordPress tiene una base de datos bastante simple y sin complicaciones. Consiste en 11 tablas, que son utilizadas por los componentes básicos de WordPress y no se pueden eliminar o eliminar. WP_CommentMeta: almacena metadatos de todos los comentarios que quedan en sus publicaciones y páginas de WordPress, incluidas publicaciones personalizadas. WP_Comments-Stores todos los comentarios realizados en su sitio, incluidos comentarios publicados, inacabados, que esperan y spam. Wp_links: contiene toda la información ingresada en la función de gestión de enlaces de WordPress, rara vez se usa hoy, el enlace en sí mismo se deprecia de WordPress 3.5 y se oculta implícitamente en New.wp_options, no solo todas las opciones de WordPress se almacenan en esta tabla, como leer y configuración de discusiones, pero ahora es más común que los complementos usen WP_options para almacenar la configuración guardada, a diferencia de una tabla personalizada. WP_POSTSMETA – Como probablemente adivinó, esta mesa almacena todos los metadatos asociados con sus publicaciones y páginas WP_POSTS – almacena todas sus publicaciones, así como sus páginas y también los elementos de navegación/menú. WP_TERMS: esta tabla almacena categorías para publicaciones, enlaces y etiquetas. WP_Term_Relationships: las publicaciones están asociadas con categorías y etiquetas en la tabla WP_TERMS, y esta asociación se mantiene en la tabla WP_Term_Relationships. La asociación de conexiones con sus respectivas categorías también se mantiene en esta tabla.
Wp_term_taxonomy: describe la taxonomía, como una categoría, conexión o etiqueta para entradas WP_TERMS_TABLE. WP_USETA: almacena los metadatos de todos los usuarios en la tabla WP_USERS. WP_USERS: todos sus usuarios se almacenan en esta tabla. Tenga en cuenta que los datos, como las contraseñas, se serializan. Múltiples bases de datos se estructuran de manera muy diferente a la base de datos para una instalación multisit se estructura de manera muy diferente por la de un sitio stand -Alone, por lo que si administra una u otra, es importante comprender las diferencias para administrar su sitio. -Effectivamente.wp_blogs -El sitio creado en una red multisit se almacena en esta tabla. WP_BLOG_VERSIONS: almacena la versión actual de la base de datos de cada sitio en la red y se utiliza principalmente en el proceso de actualización de su red. Se actualiza a medida que se actualiza cada sitio. WP_SUTERION_LOG – Revistas creadas por el usuario del administrador cuando cada nuevo sitio está registrado. Wp_site-esta tabla contiene la dirección del sitio principal. Wp_siteteta: cada sitio tiene datos del sitio; Esta tabla almacena los datos del sitio, incluidas las diferentes opciones, incluido el administrador del sitio.
WP_USERS: contiene todos los usuarios, mientras que este campo se utiliza en la instalación de un solo sitio. Incluye dos campos/filas de spam adicionales y eliminadas. WP_USETA Cuando usa multisites, esta tabla almacena metadatos de los usuarios para cada sitio (no es una recreación de WP_USETA en una instalación de un solo sitio). Las tablas específicas del sitio también se agregan a la base de datos, es decir, wp_2_commentmeta, wp_2_comments, wp_2_links. Los datos de su sitio principal se almacenan en las tablas existentes, y los sitios posteriores tienen los datos almacenados en tablas numeradas que siguen la estructura de las tablas principales del sitio. Los planes también usan la base de datos al instalar un complemento, utilizará la base de datos. Para almacenar y tomar datos en ese complemento. Por ejemplo, un complemento de campos personalizados guardaría los campos que crean en la base de datos y, posteriormente, los tomaría para mostrarlos en las publicaciones asociadas. Sin la base de datos, el complemento no pudo almacenar los campos que crea, asociar un campo con una publicación o interrogar valores para mostrar en el front-end. Los complementos pueden usar la base de datos predeterminada de WordPress, como WP_Posts o WP_PostsMeta, o crear tablas personalizadas. Un ejemplo popular de complemento que crea sus propias tablas es WooCommerce, que crea ocho tablas personalizadas para almacenar y recuperar identificaciones de productos, artículos de pedido, tasas de impuestos y otra información del producto.
Si le preocupa crear tablas de complementos en la base de datos, no se utiliza para que los complementos lo hagan.Aunque es preferible usar tablas existentes, como WP_options, para almacenar datos de arado, esto no siempre es posible, especialmente con complementos más complejos como WooCommerce.Nota: Es una buena idea eliminar las tablas personalizadas de la base de datos cuando elimine un complemento de su sitio, de lo contrario, durante la instalación, acumulará una colección de tablas no utilizadas en la base de datos.Algunos complementos vienen con la opción de eliminar automáticamente todos los datos asociados con un complemento cuando lo desinstala.Tenga en cuenta que debe eliminar tablas personalizadas solo cuando esté absolutamente seguro de que no usará un cierto enchufe nuevamente, porque no hay devolución.
Los motores de almacenamiento MySQL explicaron los motores de almacenamiento de MySQL para almacenar, administrar y tomar información de una mesa. Si bien MySQL admite 13 motores de almacenamiento diferentes, las dos opciones más utilizadas son Myisam e InnoDB. La mayoría de las veces, el motor de almacenamiento predeterminado, como se define en su archivo de configuración MySQL, suele ser Myisam y esto es lo que la gente suele usar. Debido a que muchas personas no se molestan en hacer tiempo para elegir un motor de almacenamiento, solo uso el predeterminado. Si decide seleccionar un motor de almacenamiento, con WordPress es una decisión que ha hecho algo más fácil: mientras que Myisam puede ser más rápido para leer, InnoDB es más rápido tanto para la lectura como para la escritura debido a su mecanismo de bloqueo de las filas. Debido a que WordPress se basa en gran medida tanto en la lectura como en la escritura, InnoDB es la mejor opción. Vale la pena señalar que las tablas predeterminadas creadas en phpmyadmin usan el motor de almacenamiento Myisam. Por lo general, esto significa que si usa sombra de sombra o un host de WordPress no especificado, sus tablas usarán Myisam en lugar de innodb. Si desea cambiar su motor de almacenamiento, puede usar la siguiente consulta SQL (que puede realizar en su herramienta de administración de base de datos favorita, como phpmyadmin): default_storage_engine = innodb;
Nota: Por una razón increíblemente extraña, las tablas creadas en/por phpmyadmin usan implícitamente myisam.Esto significa que si usa sombra de sombra o un host no especificado, sus tablas serán Myisam.¡No temáis!Puede cambiar el motor utilizado por la base de datos.Para cambiar una tabla que puede usar: Cargue el código principal Monkey-Jack/9C313C82D5357F825799DF36727414
Cambiar el motor de almacenamiento de la tabla con la mesa puede ser un proceso de consumo de tiempo, en cuyo caso es posible que desee echar un vistazo al excelente tutorial de Pantheon. Podrías pensar ahora: “¡Genial! Pero, ¿qué pasa con los complementos que crean tablas personalizadas? ¿Qué motor uso? ” La respuesta es: puedo usar una mezcla. Algunos dicen que las instrucciones SQL usan innodb, mientras que otros usan Myisam. En general, es mejor seguir la base de datos después de instalar un nuevo complemento que crea tablas personalizadas y verifique qué motor MySQL está utilizando. La clase WP_QUEY WP_QUEY es una consulta de WordPress extremadamente poderosa que puede usar para acceder a publicaciones desde la base de datos. Ya he cubierto WP_Query en este blog antes, así que lo subrayo aquí. Para obtener una guía más completa para WP_QUEY, consulte nuestra publicación una guía exhaustiva para la conquista WP_QUEY. Optimización de la base de datos de WordPress Una de las razones más comunes para un sitio lento es una base de datos sin mera de mantequilla. Observamos las ventajas de elegir un motor de base de datos y ahora analizaremos cómo puede eliminar algunos de los no deseados almacenados en su sitio para que sea más fácil. Para obtener una guía completa sobre cómo optimizar su base de datos, consulte nuestra Optimización de la base de datos de WordPress: una guía completa. Antes de comenzar a optimizar la base de datos, es una buena idea crear una copia de seguridad completa primero si tiene problemas. Recomiendo encarecidamente Snapshot Pro, nuestro complemento de repuesto. Puede guardar y restaurar todo el sitio con un solo clic, completamente con la integración de Dropbox y S3.
Snapshot Pro le permite hacer una copia de seguridad rápida y fácil de una copia de seguridad fácil por su sitio web de WordPress para su posterior restauración. ¡Es mejor estar seguro que lamentarse! Instale solo complementos que realmente usará una forma simple de optimizar su base de datos sin hacer nada es instalar complementos que usará y no instalar complementos en aras de la instalación de complementos. ¡Es fácil sentirse atraído por activar nuevos complementos brillantes! Recuerde que para cada complemento que instale, se crearán nuevos datos que, a su vez, completen la base de datos. Hay complementos conocidos para almacenar cantidades significativas de datos, y generalmente se dividen en cuatro categorías:
Los complementos de seguridad más los complementos de seguridad recopilan y almacenan información sobre ataques contra su sitio.
Agrupaciones de estadísticas: estos complementos no extraen datos de una fuente de terceros, es decir, Google Analytics, y en su lugar almacenan valores como página, visitas, navegadores, palabras clave y muchos más en su base de datos.
Los complementos anti-spam-due a la naturaleza de los complementos anti-spam, almacenan cantidades masivas de datos, así como complementos de seguridad, incluida información como direcciones IP, direcciones de correo electrónico, países, etc.
Complementos de publicaciones populares: la búsqueda de cosas como vistas y apreciaciones en cientos o miles de publicaciones se agregan y pueden hacer crecer su base de datos. Es mejor mantener estos complementos como mínimo.

Entonces, ¿debería dejar de usar los complementos anteriores?Si y no.Aunque debe tomar el spam y la seguridad de su sitio muy en serio, a menos que sea necesario para el tipo de sitio que ejecuta, intente evitar complementos estadísticos y populares posteriores a la tipo.Los comentarios de spam son una de las principales causas de una base de datos hinchada si no se mantiene adecuadamente.Vi sitios con decenas de miles de comentarios de spam.Afortunadamente, no podría ser más fácil eliminarlos.
Ya sea que ejecute un comando SQL como este: Eliminar de WP_Comments donde comment_approved = ‘spam’ o, si se conecta al tablero de WordPress y accede a los comentarios> spam, debe ver un botón de “spam vacío”. Haga clic en él y cada comentario de spam en su instalación definitivamente desaparecerá. Antes de eliminar cualquier comentario de spam, asegúrese de verificar si realmente son spam. Es común que los comentarios se marquen como spam cuando en realidad son auténticos. Si no desea lidiar con el spam manual, el complemento más popular para detener el spam es Akismet, lo que le permite establecer los comentarios de spam para eliminar automáticamente. WordPress 2.6 Reviews ha introducido una función de revisión de publicación, que le permite almacenar las versiones anteriores de una publicación, es decir, guarda todos los bocetos y actualizaciones. Contrariamente a la creencia popular, se conserva un solo rescate automático por publicación, eliminando automáticamente la versión anterior guardada automáticamente. Esto significa que su mesa no continuará creciendo con salvación automática. Sin embargo, su tabla crecerá cada vez que haga clic en “Actualizar” en su publicación o guardar un nuevo boceto. Aunque las revisiones son útiles y no las deshabilitaría personalmente y no recomendaría desactivarlas, puede ahorrar espacio en la base de datos eliminando las versiones antiguas. Para mantener un número máximo de revisiones, puede agregar una definición a su mano a su wp-config.php: define (‘wp_post_revisions’, 5);
Simplemente cambie el número a cuántas reseñas desea conservar.La introducción de 1 o más tiendas el número de revisiones más ahorro automático, -1 almacena cada revisión y 0 lo establece en falsificación y no almacena ninguna revisión, excepto para ahorrar automático.Para eliminar las revisiones de las publicaciones existentes, ejecutará un comando SQL para eliminar o usar un complemento de optimización de WordPress para eliminarlas.Si desea usar SQL, puede ejecutar un pedido como este: cargue el mono principal-jack/86117b995a95724ab34d1313a3e536f3
Esta consulta elimina todas las revisiones de las publicaciones de esas publicaciones, pero también elimina todas las meta y taxonomías asociadas. Recuerde, sin embargo, que elimina todas las reseñas y no solo algunas. Si prefiere usar un complemento para eliminar las revisiones, consulte Optimizar la base de datos después de eliminar las revisiones. No solo le permite eliminar las revisiones, sino que también es compatibilidad multissed y le permite eliminar cosas como etiquetas no utilizadas, meta huérfanos y más. Eliminar complementos de tablas no utilizadas que crean tablas personalizadas, con bastante frecuencia, no los eliminen en desinstalación. Si elimina un complemento y no tiene la intención de usarlo nuevamente, querrá eliminar la tabla que crea. Aunque hay complementos como WPDBSpringClean que pueden hacer esto por usted, no se ha actualizado durante más de dos años y, en general, no debe usar un complemento para eliminar las tablas. No hay una manera fácil de saber qué tablas de base de datos no se utilizan, aunque, en general, los complementos llaman a sus tablas usando el nombre del complemento o la clase principal del complemento, lo que las hace más fáciles de encontrar. Por supuesto, como ya hemos mencionado, antes de eliminar las tablas o cambiar la base de datos, asegúrese de haber creado una copia de seguridad completa. La optimización manual de la base de datos MySQL viene con una consulta optimizada que, según el manual oficial, “reorganiza el almacenamiento físico de datos de tabla y datos de índice asociados, para reducir el espacio de almacenamiento y mejorar la eficiencia de E/S al acceder a la tabla .. ” Los cambios exactos realizados en cada tabla dependen del motor de almacenamiento utilizado por esa tabla.
Puede ejecutar una consulta de optimización utilizando una herramienta de administración de bases de datos, como PhPMyAdmin. Optimización de la base de datos con un complemento si prefiere un complemento para hacer todo por usted, WP-Optimize es una opción popular gratuita que está activa en más de 500,000 instalaciones de WordPress. Puede eliminar las revisiones de las publicaciones, los viejos metadatos, las publicaciones inacabadas y también puede eliminar los comentarios de la basura. También puede aplicar una consulta nativa optimizada sin tener que usar una herramienta de administración de bases de datos o consulta manual en la herramienta de administración de bases de datos. ¡Demasiado fácil! Reparación de la base de datos de WordPress Si la base de datos está dañada por cualquier razón, ¡no se asuste! Puede editar el archivo wp-config.php para repararlo: define (‘wp_allow_repair’, true); Después de haber guardado el archivo, encienda el navegador y acceda a www.example.com/wp-admin/maint/repair.php En la pantalla de reparación, puede reparar su base de datos o reparar y optimizar su base de datos. Después de haber elegido cualquiera de las opciones, WordPress intentará reparar automáticamente su base de datos. A veces, reparar la base de datos de esta manera no funciona o funciona solo parcialmente. En este caso, abra PhpMyAdmin e intente reparar su base de datos de tabla con la tabla. Pero, ¿qué sucede si no repara la base de datos de esta manera, funciona? Si no es un Ninja SQL y un experto en recuperación de datos, este es el punto en el que necesita recurrir a la restauración de un niño de respaldo anterior. Si tiene uno.
La forma en que la base de datos de WordPress se almacenará en el caché, podría continuar sobre el almacenamiento en caché y WordPress, porque hay mucho que saber, pero para este artículo cubriré las cosas más importantes que necesita saber. La API transitoria transitoria es muy similar a las opciones de API de WordPress (una forma simple y estandarizada de almacenar datos en la base de datos que facilita la creación, acceso, actualización y eliminación de opciones), pero con la función adicional de un tiempo de vencimiento, que simplifica El proceso de usar la tabla de base de datos WP_OPTION para almacenar temporalmente caché. En WordPress, puede usar los transitorios para los datos de cambio constante que desea expirar y actualizar, pero también como sustitutos de bases de datos más intensas que desea almacenar en caché. Una desventaja son transitorios mal codificados; Tal vez el transitorio tiene un tiempo de vencimiento, pero no se ha establecido para eliminarse, lo que resultó en una transición para cargarse, que no existe. Además, los propietarios de sitios que instalan complementos de limpieza transitorio han ganado popularidad; Eliminar elementos transitorios utilizados por complementos y temas que no deben eliminarse puede causar más problemas para su sitio. Finalmente, debe eliminar los transitorios solo si sabe exactamente lo que hace y para lo que es, no elimine en el bloque de todos los transitorios, porque Hay altas posibilidades de llegar a un sitio roto. Memcached use memcached en su sitio
Le permite acelerar las interrogatorias de la base de datos intensiva (datos y objetos) en RAM para reducir las lecturas de la base de datos. Esto permite que sus páginas se cobren más rápido, porque los datos ya están allí, sin tener que hacer una consulta. Una desventaja, como con todo el almacenamiento de caché, es que si actualiza su publicación/página/sitio y ya está almacenada en caché, deberá vaciar el caché antes de que se muestren los cambios. Un error que muchas personas a menudo cometen con Memcaching es instalar un complemento como W3 Total Cache, consulte la configuración de Memcache y activarla sin tener la configuración de Memcached. ¡No puede establecer la opción sin configurar primero la base de datos/servidor Memcached! Un Memcached incorrectamente configurado (o cualquier almacenamiento de objetos, de lo contrario) puede devastar el sitio web y la base de datos, causando, entre otras cosas, problemas transitorios que causan problemas con actualizaciones automáticas y complementos/temas basados en transitorios. Sin lugar a dudas, mi método de almacenamiento favorito en caché basado en bases de datos de WordPress es Redis, lo que marca una gran diferencia en los tiempos de carga de la página. A diferencia de Memcached, Redis ha incorporado persistencia; Al igual que Memcached, Redis también es un depósito de estructura de datos en la memoria (almacene sus datos en RAM). Puede usar la memoria caché del objeto Redis Redis para conectar Redis a su sitio de WordPress. Sin embargo, recuerde que primero necesitará configurar Redis y configurar su caché.

Una forma en que puede hacer esto es con el script Predis o la extensión Redis de HHVM (solo si usa HHVM en lugar de PHP). Asegúrese de configurar Redis racionalmente: no almacene grandes bloques de datos en cada clave y mantenga un número confidencial de claves, ya que no tiene sentido usar la memoria de la base de datos si realiza miles de llamadas Redis, lo que resulta en objetos más largos. Transacciones de caché. Ya sea que esté utilizando Memcached o Redis, existe una diferencia importante entre los dos: Memcached es un sistema de caché de memoria, mientras que Redis es una estructura de datos apropiada, lo que les permite utilizar como depósito de datos. Real en lugar de un caché volátil. Vea esta gran respuesta en StackOverflow sobre por qué debe usar Redis sobre Memcached si aún no tiene una gran configuración de inversión con un sistema Memcached. MariaDB Mariadb es un MySQL Furk de uno de los fundadores y desarrolladores iniciales de MySQL, después de ser comprado por Oracle. Se conoce a MariadB porque es significativamente más rápida, debido a la replicación más rápida y al conjunto de hilos que permiten decenas de miles de conexiones sin la desaceleración visible. MariaDB también ofrece una mayor cantidad de motores de almacenamiento, con una disminución en los sustitutos de motores de almacenamiento más populares, como InnoDB. Si bien Memcached no está disponible para su uso con MariadB, puede usar excelente caché de consulta para configurar el caché de la base de datos con Maria DB. ¿Entonces deberías ir a Mariadb? Es de código abierto, más rápido y generalmente ofrece algunas funciones excelentes.
Si tiene un sitio medio-alto, sí, definitivamente lo recomendaría. Pero si tiene sombra barata con un sitio pequeño, no vale la pena el tiempo o el esfuerzo. Finalmente, MariaDB es mi preferencia hacia MySQL, especialmente debido a la gestión de las conexiones, lo que significa que menos de los mensajes temidos “no se puede establecer una conexión a la base de datos”. Lo que no significa que MySQL no se pueda mejorar dramáticamente mediante la optimización y el caché que exploraré a continuación. WordPress y WPDB Clase WPDB en WordPress están en el centro de todas las interacciones con las bases de datos entre el software básico y la base de datos. También es utilizado por complementos y temas. Es importante recordar siempre deshacerse de los comandos SQL para evitar ataques de inyección SQL. Ha habido varios casos en los últimos años cuando los complementos conocidos han contenido un código SQL vulnerable, que los piratas informáticos han explotado. No voy a profundizar en este tema. Por el contrario, para leer más, consulte la entrada del códice de WordPress en la clase WPDB, escapando de SQL en WordPress y cree tablas personalizadas para un excelente comienzo para la clase WordPress y WPDB. Las herramientas que lo ayudan a administrar su base de datos La mayoría de los hosts web ofrecen una cierta forma de acceso a la base de datos, generalmente phpMyadmin, que ofrece una interfaz gráfica fácil de usar. PhPMyAdminphpMyAdmin es una herramienta escrita PHP destinada a cuidar MySQL en la web.
Un script gratuito y un código abierto para la gestión de bases de datos. PhPMyAdmin ofrece una forma simple de optimizar, reparar, importar, exportar y ejecutar operaciones SQL en la base de datos. Funciona con MySQL y Mariadb. Navicatnavicat es una herramienta premium para administrar y diseñar bases de datos.
Navicat es una herramienta premium completa para la gestión de bases de datos. Además de todas las características estándar de cualquier buena herramienta de gestión de bases de datos, como importación/exportación, visor de mesa, optimización y reparación, también ofrece un constructor/editor de SQL y un diseñador de objetos. Al igual que PhpMyadmin, funciona con MySQL y MariadB. Comprender cómo MySQL funciona con las bases de datos de WordPress es una parte integral de WordPress, darle a su columna vertebral (u oficina) a sus sitios. Hacer que sus sitios funcionen sin problemas, ser optimizado y hacer copias de la reserva regularmente puede ser una tarea de tiempo de tiempo, puede ser una tarea de tiempo de tiempo, puede ser una tarea de tiempo de tiempo puede , pero con el conocimiento, herramientas y complementos adecuados, la administración de la base de datos es bastante simple y fácil de hacer.
¿Encontró la mejor manera de optimizar su base de datos? Háganos saber en los comentarios a continuación.
Etiquetas:
Base de datos


MySQL y WordPress: comprender cómo funcionan las bases de datos
Tags MySQL y WordPress: comprender cómo funcionan las bases de datos
homefinance blog