Antes de entrar en la forma de utilizar la replicación MySQL DB en un sitio web de WordPress, es importante entender lo que es la replicación de bases de datos es y cómo ayuda.

¿Qué es la replicación MySQL DB ?

MySQL copia la de base de datos de datos de un servidor de base de datos a una o más bases de datos que podrían ser alojados en la misma máquina o múltiples. Se proporciona un aumento de rendimiento y añade redundancia en el sistema.

Replicación DB típicamente implica la creación de un “maestro” DB y uno o más “esclavo” de DB. En general, todas las inserciones y actualizaciones ocurren sólo en el DB maestro y los esclavos se utilizan como bases de datos de sólo lectura. Pero pueden ser configurado para tener la replicación circular donde cada nodo DB actúa como un maestro como esclavo también. Independientemente de la configuración, la conclusión es que cada cambio realizado en el “maestro” DB automáticamente se copia a todos los “esclavos” DB de conexión a la misma. Y como todos los de DB tendrán la misma copia de los datos, puede consultar cualquiera de ellos para servir una petición y, por tanto, distribuir la carga sobre todo en el tráfico pesado. Encuentra más manual replicación MySQL visita.

Cómo utilizar MySQL DB replicación en WordPress?

WordPress utiliza MySQL pero por defecto no utiliza ningún tipo de replicación DB. Para configurarlo para usar la configuración de replicación DB, es necesario utilizar HyperDB plugin de WordPress que es proporcionada por el equipo de WordPress.

replicacion sql wp

Una cosa importante a tener en cuenta sobre este plugin HyperDB WordPress es que su instalación no funciona como un plug-in estándar de WordPress. Usted debe seguir los pasos de instalación y configuración con mucho cuidado. La mayor diferencia es que el contenido de este plugin no va en wp-content / plugins. El plugin viene con dos archivos de configuración – db.php y db-config.php, y ambos van en el directorio raíz en lugar de directorio de plugins.

Si usted tiene una base de datos maestra que está configurado para operaciones de lectura y escribir y unos pocos esclavos que son de sólo lectura, aquí están los pasos para configurar WordPress para la replicación MySQL DB –

Descarga WordPress HyperDB Plugin en una carpeta temporal dicen “/ home / MyUserName / downloads”
Descomprimir el paquete en la misma carpeta
Abrir db-config.php para la edición
Busque las líneas siguientes en la configuración
/ ** NOTA: ESTO ES ACTIVO POR DEFAULT. COMENTARIO IT OUT. ** /

/ **
* Esta es la forma más sencilla de añadir un servidor a HyperDB utilizando sólo el
* Parámetros necesarios: host, usuario, contraseña, nombre.
* Esto agrega el DB se define en wp-config.php como un servidor de lectura / escritura para
* El conjunto de datos ‘global’. (Cada tabla está en “global” de forma predeterminada.)
* /

Deja el primer bloque de add_database, que sigue por encima de las líneas, como es. Esta es tu amo DB y su información se lee desde el archivo wp-config.php, suponiendo que ya ha configurado la información de conexión DB en wp-config.php. Si no, simplemente reemplazar las constantes para DB_HOST, DB_USER, DB_PASSWORD y DB_NAME con valores reales de su maestro MySQL DB aquí.
$ wpdb-> add_database (array (
‘anfitrión’ => DB_HOST, // Si el puerto es distinto de 3306, use host: puerto.
‘User’ => DB_USER,
‘Password’ => DB_PASSWORD,
‘Name’ => DB_NAME,
));

Siguiente editar el segundo bloque, que sigue por encima de, para utilizar el host, nombre de usuario, contraseña y nombre de base de datos para la base de datos del esclavo. En caso de que su esclavo soporta tanto leer y escribir, puede cambiar el valor de “escribir” a 1 en la línea de abajo.
$ wpdb-> add_database (array (
=> esclavo-db-anfitrión “anfitrión”, // Si el puerto es distinto de 3306, use host: puerto.
=> Esclavo-db-nombre de usuario ‘usuario’,
=> Esclavo-db-password ‘password’,
‘Name’ => esclavo-db-name,
‘Escribir’ => 0,
Leer’ => 1,
‘Conjunto de datos’ => ‘global’,
‘Tiempo de espera’ => 0.2,
));

Añadir un nuevo bloque para cada esclavo DB que tiene en su puesta en marcha
Guarde el archivo
Copiar archivos tanto db-config.php y db.php a la carpeta raíz de WordPress que contiene wp-content.
Eso es todo! Con que tu WordPress replicación MySQL DB está encendido. En caso de tener que desactivarlo, simplemente cambiar el nombre o mover archivos db.php fuera de la carpeta raíz.

Fuente articulo original en Ingles con enlaces

Before we get into how to utilize MySQL DB replication in aWordPress website, it’s important to understand what database replication is and how it helps.

What is MySQL DB Replication

MySQL database replication copies data from one database server to one or more databases which could be hosted on the same machine or multiple. It provides a performance boost and adds redundancy into the system.

DB replication typically involves setting up a “master” DB and one or more “slave” DB’s. Generally, all inserts and updates happen only in the master DB and slaves are used as read-only databases. But they can be configured to have circular replication where every DB node acts as a master as well slave. Regardless of your setup, the bottom line is that every change made in the “master” DB automatically gets copied to all the “slave” DB’s connected to it. And since all DB’s will have the same copy of the data, you can query any of them for serving a request and therefore distribute the load especially under heavy traffic. Find more visit MySQL replication manual.

How to Use MySQL DB Replication in WordPress?

WordPress uses MySQL but by default it does not use any DB replication. For configuring it to use your DB replication setup, you need to use HyperDB WordPress plugin which is provided by WordPress team.

One important thing to note about this HyperDB WordPress plugin is that its installation does not work like a standard WordPress plugin. You must follow the installation and configuration steps very carefully. The biggest difference is that the content of this plugin does not go in wp-content/plugins directory. The plugin comes with two configuration files – db.php and db-config.php, and they both go in root directory instead of plugins directory.

If you have a master DB that is configured for read and write operations and a few slaves that are read-only, here are the steps to configure WordPress for MySQL DB replication –

  • Download WordPress HyperDB Plugin into a temporary folder say “/home/myusername/downloads”
  • Unzip the bundle in the same folder
  • Open db-config.php for editing
  • Look for following lines in the configuration

/** NOTE: THIS IS ACTIVE BY DEFAULT. COMMENT IT OUT. **/

/**
* This is the most basic way to add a server to HyperDB using only the
* required parameters: host, user, password, name.
* This adds the DB defined in wp-config.php as a read/write server for
* the ‘global’ dataset. (Every table is in ‘global’ by default.)
*/

  • Leave the first block of add_database, that follows above lines, as is. This is your master DB and its information will be read from wp-config.php file, assuming that you have already configured DB connection information in wp-config.php. If not, simply replace the constants for DB_HOST, DB_USER, DB_PASSWORD, and DB_NAME with actual values for your master MySQL DB here.

$wpdb->add_database(array(
‘host’     => DB_HOST,     // If port is other than 3306, use host:port.
‘user’     => DB_USER,
‘password’ => DB_PASSWORD,
‘name’     => DB_NAME,
));

  • Next edit the second block, that follows above, to use the host, username, password, and database name for the Slave DB. In case your slave supports both read and write, you can change ‘write’ value to 1 in the line below.

$wpdb->add_database(array(
‘host’     => slave-db-host,     // If port is other than 3306, use host:port.
‘user’     => slave-db-username,
‘password’ => slave-db-password,
‘name’     => slave-db-name,
‘write’    => 0,
‘read’     => 1,
‘dataset’  => ‘global’,
‘timeout’  => 0.2,
));

  • Add a new block for every Slave DB you have in your set up
  • Save the file
  • Copy both db-config.php and db.php files to your WordPress root folder that contains wp-content.

That’s it! With that your WordPress MySQL DB replication is on. In case you need to disable it, just rename or move db.php files out of the root folder.

 

 

Soy un Profesional de la ingeniería con experiencia en la planificación, gerencia y construcción de proyectos multidisciplinarios involucrados en el sector construcción y telecomucaciones teniendo como objetivo central el de desarrollar mi carrera profesional aplicando mis conocimientos y aptitudes orientados al desarrollo e implementación exitosa de proyectos. Gerencia de proyecto, planificación ,diseño y elaboración de ingeniería de detalle, construcción y activación de proyectos de redes de CATV, HFC (hibrid fiber-coaxial) ,SDH y Fibra óptica en canalización aérea y subterránea.
Desarrollador web de sitios web basados en tecnologías de software libre: PHP, MySQL,HTML, WordPress,Joomla, Magento, Js.
Bilingue (español e ingles), Libre Pensador y Apasionado corredor de asfalto y montaña.