La administración de sitios de WordPress con mucho tráfico presenta muchos desafíos, y uno de ellos es base de datos.
La base de datos es conocida por utilizando altos recursos como CPU, memoria, IO, por lo que sería una buena idea alojar el base de datos por separado.
Un sitio típico de WordPress sería algo como a continuación.
Donde todo el software como Nginx / Apache, PHP, WordPress, MySQL / MariaDB se ejecuta en el mismo servidor.
Tener todo en el mismo servidor está bien para tráfico pequeño a mediano, pero si administrar un sitio web con mucho tráfico y optimizando cada capa para rendimiento óptimo entonces es posible que desee desacoplar el servidor de base de datos.
Hay dos formas posibles de hacerlo.
- Base de datos de host en un servidor diferente
- Usar SQL administrado por Google Cloud
La primera opción es buena, si está listo para dedicar tiempo y esforzarse en administrar la base de datos, entonces sería genial. Sin embargo, si no está preparado para ello, puede hacer uso de SQL administrado por Google Cloud.
What is Google Cloud SQL?
Cloud SQL es un base de datos gestionada de alto rendimiento (MySQL, PostgreSQL, servidor SQL) de Google. No tiene que preocuparse por la instalación, la gestión y la optimización del rendimiento.
Paga lo que usa y deja que Google maneje la infraestructura de la base de datos.
Google Cloud SQL puede ser COMPLETAMENTE con App Engine, Compute Engine o cualquier otro alojamiento o servicio, incluida su estación de trabajo local. La configuración de la replicación de la base de datos, la alta disponibilidad y la conmutación por error automática no requiere habilidades de base de datos y las configura con GCP Console.
Listo! para ver cómo funciona Cloud SQL con WordPress?
Guión - Tengo un sitio de WordPress alojado en Google Cloud (Compute Engine) donde todo se ejecuta en un solo servidor. Haré lo siguiente para separar la base de datos.
- Crea una instancia de Cloud SQL
- Exportar los datos de la base de datos MySQL existente
- Importa los datos a Cloud SQL
- Permitir que Cloud SQL se conecte desde el servidor de WordPress existente
- Cambiar la configuración de WordPress para conectarse a Cloud SQL
Creating Google Cloud SQL Instance
- Ve a Nube SQL y haga clic Crear instancia
- Elija MySQL y después
- Ingrese la información de la instancia
- Escriba el ID de instancia
- Seleccione la pestaña Versión de la base de datos (siempre lo último es mejor)
- Elija el región y zona (Estoy procediendo con una zona única y puedo tener HA en cualquier momento, más adelante)
- Haga clic en MOSTRAR OPCIONES DE CONFIGURACIÓN para personalizar el tipo de instancia de VM, respaldo, mantenimiento, etc.
Consejo: siempre prefiera tener instancias de SQL en la misma región que su servidor de WordPress existente. Sin embargo, si su WordPress no está en Google Cloud, elija la ubicación más cercana de su servidor.
- Sea el tipo de almacenamiento elegido por defecto como SSD
- Copia de seguridad automática, el registro binario está seleccionado de forma predeterminada; cámbielo si
- Mejor definir el ventana y tiempo de mantenimiento para parchear.
Consejo: elija siempre el día y la hora menos ocupados para su negocio
- Una vez que esté todo configurado, haga clic en CREAR INSTANCIA
Tardará unos segundos en crearse y, al finalizar, verá la instancia en la lista.
Getting Data Export from existing Database
- Inicie sesión en un servidor actual donde se esté ejecutando MySQL
- Utilice la herramienta
mysqldump
comando para exportar la base de datos
mysqldump -u root -p [DATABASE_NAME] >/tmp/export.sql
Hay algunos procedimientos más para exportar como se explica en Google Docs.
Una vez que se realiza la exportación, debe cargar el archivo SQL en algún lugar de Google Cloud Storage (S3) área.
Importing data to Cloud SQL
Creemos una base de datos y mantengamos el nombre como existente
- Ve a Instancia de SQL
- Presione Bases de datos desde el panel de navegación izquierdo >> crear base de datos
- Ingrese el nombre de la base de datos y haga clic en crear
Ahora es el momento de importar los datos.
- Vaya a la descripción general de la instancia y haga clic en el Importa .
- Seleccione el archivo SQL del depósito de almacenamiento que cargó en el paso anterior durante la exportación
- Seleccione la base de datos debajo del destino
- Haga clic en IMPORTAR
Tardará unos segundos y recibirá una confirmación al finalizar.
Configuring Cloud SQL Access
El control de acceso es fundamental ya que aquí es donde se define quién debe conectarse a su instancia. Hay dos partes.
Autorizando red - agregue la dirección IP que debería permitir la conexión a la instancia de Cloud SQL
- Vaya a Conexiones >> Agregar red (en IP pública si WordPress está alojado fuera de GCP e IP privada si está alojado en Google Cloud VM) e ingrese las direcciones IP.
Cuenta de usuario - Es bueno tener una cuenta de usuario separada creada para la base de datos de WordPress.
- Vaya a Usuarios >> AÑADIR CUENTA DE USUARIO
- Ingrese el usuario, la contraseña y el nombre de host para permitir el acceso desde
Consejo: puede mantener el usuario y la contraseña como existentes para que tenga un cambio de configuración mínimo en WordPress
Configuring WordPress to Cloud SQL
Y la última parte, necesitas cambiar wp-config.php
para apuntar a Cloud SQL
Como de costumbre, haga una copia de seguridad de wp-config.php presentar
Edite el archivo usando vi
y actualizar el DB_HOST
valor a la dirección IP de Cloud SQL
Desde
/ ** Nombre de host MySQL * / define ('DB_HOST', 'localhost');
A
/ ** Nombre de host MySQL * / define ('DB_HOST', '104.155.153.82');
104.155.153.82 es la IP de mi instancia de Cloud SQL, que encontrará en la Descripción .
Guarde el archivo y reinicie PHP, Nginx en el servidor de WordPress
Nota:: es posible que también desee conectarse a la instancia de Cloud SQL mediante el cliente MySQL de Compute Engine, que es se explica aquí.
¡Bien hecho! Tienes lograr separó la base de datos de WordPress.
Intente acceder para asegurarse de que funcione. Una vez que esté bien, es posible que desee detener el MySQL en el servidor de WordPress.
Stopping MySQL
Una vez que esté satisfecho con Google CloudSQL, puede pensar en detener la ejecución de MySQL en su servidor.
Si usas Ubuntu 16.x
servicio mysql stop
Esto se detendrá pero comenzará de nuevo cuando se reinicie un servidor, por lo que a continuación debe desactivar el inicio automático.
update-rc.d mysql deshabilitar
en CentOS 6.x
service mysqld parada
y para deshabilitar el inicio automático
chkconfig --del mysqld
Es posible que también desee desinstalar MySQL, pero recomendaría dejarlo instalado para el futuro en caso de que desee usarlo localmente.
Obtener MySQL administrado en Google Cloud es bastante sencilloy no encontré ningún problema.
Si necesita dividir la base de datos de un servidor de WordPress, entonces Google Cloud SQL sería una buena opción. Pruébelo para ver cómo funciona.
¿No se siente cómodo con la modificación de la configuración, las cosas relacionadas con la administración del servidor? Aprovechar plataforma gestionada de Google Cloud para WordPress.