Site is under maintenance mode. Please wait few min!
Saltar al contenido

Instalar y usar el editor de texto Vim en un servidor en la nube

marzo 4, 2020

 

Introducción

La idea general de usar memcached y su aplicación servidor independiente con MySQL ha sido descrita en muchos artículos finos tales como la forma de instalar y uso de Memcache en Ubuntu 14.04. Sin embargo, memcached como un servidor independiente funciona como intermediario en la parte frontal de la capa de acceso de cliente de MySQL y gestiona la información sólo en la memoria sin opción de almacenar persistentemente. Esto lo hace adecuado para tareas tales como almacenamiento en caché de los resultados de las consultas de MySQL duplicados. Esto ahorra recursos y optimiza el rendimiento de los sitios ocupados.

Sin embargo, en este artículo vamos a estar discutiendo algo diferente. Memcached se instalará como un plugin MySQL y estrechamente integrado en MySQL. Además, proporcionará una capa de acceso de estilo NoSQL para la gestión de información directamente en las tablas regulares MySQL InnoDB. Esto tiene muchas ventajas como veremos más adelante en el artículo.

Básico Entender

Para poder seguir este artículo se necesita algún conocimiento básico de lo NoSQL y memcached son. En pocas palabras, NoSQL trabaja con la información en forma de artículos (s) clave-valor. Este enfoque, obviamente, más simple que el SQL estándar sugiere un mejor rendimiento y escalabilidad, que son especialmente buscados para trabajar con grandes cantidades de información (Big Data).

Sin embargo, el buen desempeño de NoSQL no es suficiente para reemplazar el SQL habitual. La simplicidad de NoSQL lo hace inadecuado para datos estructurados con relaciones complejas en el mismo. De esta manera, NoSQL no es un sustituto de SQL, sino más bien una importante adición a la misma.

En cuanto a memcached, que puede ser considerado como una aplicación popular de NoSQL. Es muy rápido y tiene excelentes mecanismos de caché como su nombre indica. Es por eso que hace una gran opción para llevar el estilo NoSQL a la MySQL tradicional.

también es necesaria cierta comprensión del protocolo de memcached. – valor alfanumérico que serán la clave para acceder al valor del elemento clave

  • A: trabajos con elementos que tienen las siguientes partes memcached.
  • Un valor – datos arbitrarios, donde se mantiene la carga útil esencial.
  • Una bandera – Por lo general, un valor que se utiliza para configurar parámetros adicionales relacionados con el valor principal. Por ejemplo, podría ser un indicador de si o no a la compresión uso.
  • un tiempo de caducidad – Tiempo de expiración en segundos. Recordemos que memcached fue diseñado inicialmente con el almacenamiento en caché en mente.
  • Un valor CAS – Identificador único de cada elemento.

Requisitos previos

Esta guía ha sido probado en Ubuntu 14.04. La instalación y configuración descrita serían similares en otras versiones del sistema operativo o del sistema operativo, pero los comandos y la ubicación de los archivos de configuración pueden variar.

Necesitará lo siguiente:

  • Ubuntu 14.04 nueva instalación
  • usuario no root con privilegios sudo

Todos los comandos de este tutorial se debe ejecutar como usuario no root. Si se requiere acceso de root para el comando, que será precedida por sudo. Si usted no tiene ya que creó, seguir este tutorial: Configuración inicial del servidor con Ubuntu 14.04.

Paso 1 – Instalación de MySQL 5.6

El memcached Plugin en MySQL está disponible en versiones de MySQL anteriores 5.6.6. Esto significa que no se puede usar el paquete MySQL (versión 5.5) de la norma repositorio de Ubuntu 14.04. En su lugar, usted tiene que:

En primer lugar, ir a la página repositorio apt MySQL y descargar el paquete que añadir el repositorio de MySQL para su sistema Ubuntu 14.04. Puede descargar el paquete directamente en su gotas:

wget https://dev.mysql.com/get/mysql-apt-config_0.3.5-1ubuntu14.04_all.deb

  • wget https://dev.mysql.com/get/mysql-apt-config_0.3.5-1ubuntu14.04_all.deb

A continuación, instalarlo con dpkg:

sudo dpkg -i mysql-apt-config_0.3.5-1ubuntu14.04_all.deb

  • sudo dpkg -i MySQL-apt-config_0.3.5-1ubuntu14.04_all.deb

Cuando se ejecuta el comando anterior, aparece un asistente en modo texto con dos preguntas que contiene:

  • Qué MySQL producto que hacer desea configurar? Responder con el servidor. versión del servidor
  • ¿Qué es lo que desea recibir? Responder con mysql-5.6.

Una vez que responder a estas dos preguntas que volverá a la primera pregunta acerca de cuál es el producto que desea instalar. Aplicar con respuesta, la elección final, para confirmar las opciones y salir del asistente.

Ahora que tiene la nueva operación de MySQL, que tendrá que actualizar la caché de apt, es decir, la información sobre los paquetes disponibles para la instalación en Ubuntu. Por lo tanto, cuando la opción de instalar MySQL se puede recuperar del nuevo repositorio. Para actualizar la memoria caché de apt, ejecute el comando:

sudo apt-get update

  • sudo apt-get update

Después de que esté listo para instalar MySQL 5.6 en Ubuntu 14.04 con el comando:

sudo apt-get install mysql-server

  • sudo apt-get install mysql-server

una vez que se ejecuta el comando anterior se le pedirá elegir una contraseña (administrador) root de MySQL. Para mayor comodidad, puede optar por no establecer una contraseña en este punto y cuando se le pida simplemente pulse ENTER. Sin embargo, una vez que decida convertir este servidor en la producción, se recomienda que ejecute el comando sudo mysql_secure_installation para asegurar la instalación de MySQL y configurar una contraseña de root.

Cuando el proceso de instalación tendrá servidor MySQL 5.6 instalado junto con su cliente de línea de comandos y bibliotecas necesarias. Puede comprobarlo iniciando el cliente con el comando:

mysql -u root

  • mysql -u root

Si establece una contraseña, tendrá que utilizar el siguiente comando e introduzca su contraseña de root de MySQL cuando se le solicite:

mysql -u root -p

  • mysql -u root -p

debería ver:

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.6.25 MySQL Community Server (GPL)
...

Aunque todavía en el monitor de MySQL (terminal del cliente), crear una nueva base de datos llamada prueba:

CREATE DATABASE test;

  • CREATE DATABASE test;

Necesitaremos esta base de datos después de nuestras pruebas.

Para salir del tipo de cliente MySQL:

quit

  • dejar

Por último, como una dependencia para el plugin memcached, también tendrá que instalar el paquete de desarrollo para la biblioteca de notificación de eventos asíncronos – libevent-dev. Para que esto suceda ejecute el comando:

sudo apt-get install libevent-dev

  • sudo apt-get install libevent-dev

Paso 2 – Instalación del Plugin memcached en MySQL

Para preparar la instalación de plugins memcached primero tiene que ejecutar las consultas encuentran en /usr/share/mysql/innodb_memcached_config.sql el archivo. Iniciar el cliente de MySQL:

mysql -u root

  • mysql -u root

o, si se establece una contraseña:

mysql -u root -p

y ejecutar:

source /usr/share/mysql/innodb_memcached_config.sql;

  • /usr/share/mysql/innodb_memcached_config.sql fuente;

Esto creará todos los ajustes necesarios para el plugin en el innodb_memcache base de datos y también insertar algunos datos de ejemplo en nuestra prueba nueva base de datos.

Después de que se puede realizar la instalación del plug-in de la terminal de memcached MySQL con el siguiente comando: instalar

install plugin daemon_memcached soname "libmemcached.so";

  • complemento daemon_memcached soname «libmemcached.so»;

salir de la sesión de MySQL:

quit

  • dejar

Esto instala el plugin memcached que se encuentra en el directorio / usr / lib / mysql / plugin / en Ubuntu 14.04. Este archivo está disponible sólo en la versión de MySQL 5.6 en adelante.

Una vez completada la instalación, hay que configurar la escucha plugin de memcached. Lo necesitará para conectar con el plugin memcached. Para este fin, abra el archivo /etc/mysql/my.cnf con su editor favorito de esta manera:

sudo vim /etc/mysql/my.cnf

  • sudo vim /etc/mysql/my.cnf

En algún lugar después de la línea [mysqld] añadir una nueva línea que contiene:

daemon_memcached_option="-p11222 -l 127.0.0.1"

lo anterior configura el oyente plugin de memcached en el puerto 11222 habilitado sólo para el bucle de retorno IP 127.0.0.1. Esto significa que sólo los clientes de la gota podrán conectarse. Si se omite la parte de la IP (-l 127.0.0.1), el nuevo oyente será libremente accesible desde todas partes, lo cual es un riesgo de seguridad grave. Si le preocupa más por la seguridad de la memcached complemento por favor consulte la documentación de seguridad.

Para iniciar el nuevo proceso de escucha para el plugin memcached, reiniciar el servidor MySQL con el comando:

sudo service mysql restart

  • sudo servicio MySQL reinicio

Paso 3 – Prueba de la memcached Plugin

Para comprobar la instalación es exitosa carrera la siguiente comando de MySQL desde el cliente MySQL (empezar con el cliente mysql -u root mysql -u -p o raíz):

show plugins;

  • muestran plugins;

Si todo va bien, debería ver en la salida:

| daemon_memcached | ACTIVE | DAEMON | libmemcached.so | GPL |

Si no ves esto, asegúrese de que está utilizando la versión 5.6 de MySQL o hacia arriba y que ha seguido las instrucciones de instalación con precisión.

También puede tratar de conectarse a la nueva interfaz de complementos memcached con Telnet entre el gotita de la siguiente manera:

telnet localhost 11222

  • telnet localhost 11222

Tras el éxito debería ver una salida como:

Connected to localhost.
Escape character is '^]'.

ya se puede ejecutar un genérico de comandos, como las estadísticas, para las estadísticas, para ver cómo esta conexión funciona. Para salir de la prensa pronta simultáneamente la combinación de CTRL y] en su teclado. Después de que escriba quit para salir del cliente Telnet en sí.

Telnet le da forma para conectar con el plugin memcached y para los propios datos de MySQL. Es bueno para la prueba, pero cuando se decide utilizar de manera profesional debe utilizar las bibliotecas fácilmente disponibles para los lenguajes de programación como PHP y Python.

Paso 4 – Ejecución de NoSQL consultas de MySQL a través de memcached Plugin

Si regresa a la parte de instalación del plugin memcached en este artículo, verá que ejecutan las instrucciones del fichero / usr / share / mysql / innodb_memcached_config .sql. Estas declaraciones crearon un nuevo demo_test tabla en la base de datos de prueba. La tabla demo_test tiene las siguientes columnas de acuerdo con el protocolo memcached:

  • implementos c1 campo clave.
  • c2 implementa el campo de valor.
  • C3 aperos del campo bandera.
  • c4 implementa el campo CAS.
  • C5 implementa el campo de caducidad.

La tabla demo_test será el que estaremos probando con. En primer lugar, vamos a abrir la base de datos / tabla con el cliente de MySQL con el siguiente comando:

mysql -u root test

  • mysql -u prueba de raíz

O, si usted tiene una contraseña de MySQL:

mysql -u root test -p

  • mysql -u root -p prueba

No debería ser ya una fila en la tabla demo_test:

SELECT * FROM demo_test;

  • SELECT * FROM demo_test;

Los resultados deben verse como:

+-------------+--------------+------+------+------+
| c1 | c2 | c3 | c4 | c5 |
+-------------+--------------+------+------+------+
| AA | HELLO, HELLO | 8 | 0 | 0 |
+-------------+--------------+------+------+------+
1 rows in set (0.00 sec)

salir de la sesión de MySQL:

quit

  • dejar

Ahora, vamos a crear un segundo registro utilizando la interfaz NoSQL memcached y telnet. Conectar de nuevo a localhost en el puerto TCP 11222:

telnet localhost 11222

  • telnet localhost 11222

A continuación, utilice la siguiente sintaxis:

set [key] [flag] [expiration] [length in bytes]
[value]

Tenga en cuenta que el valor tiene que estar en una nueva fila. Además, para cada registro tiene que especificar la longitud en bytes para el valor cuando se trabaja de la manera anterior.

A modo de ejemplo, vamos a crear un nuevo elemento (fila de base de datos) con newkey clave, valor 0 para la bandera, y el valor 0 para la expiración (nunca expirar). El valor será de 12 bytes de longitud.

set newkey 0 0 12
NewTestValue

Por supuesto, también puede recuperar los valores a través de esta interfaz NoSQL. Esto se hace con el comando get que es seguido por el nombre de la clave que desea recuperar. Aunque todavía en la sesión Telnet, escriba:

get newkey

El resultado debe ser:

VALUE newkey 0 12
NewTestValue

El anterior conjunto y obtener los comandos son válidos para todos los servidores memcached. Estos fueron sólo algunos ejemplos sencillos de cómo insertar y recuperar los registros en un estilo NoSQL.

Ahora vamos a conectar de nuevo para el cliente MySQL con -p prueba de raíz el comando mysql -u ormysql prueba de raíz -u y ver el contenido de la tabla demo_test de nuevo con ejecutar el qyery:

SELECT * FROM demo_test WHERE c1="newkey";

  • SELECT * FROM demo_test donde C1 = «nueva llave»;

No debería ver la fila recién creada de esta manera:

+--------+--------------+------+------+------+
| c1 | c2 | c3 | c4 | c5 |
+--------+--------------+------+------+------+
| newkey | NewTestValue | 0 | 1 | 0 |
+--------+--------------+------+------+------+

Por ahora usted puede preguntarse cómo el plugin memcached sabe qué base de datos y la tabla para conectarse y cómo la información del mapa a las columnas de la tabla. La respuesta está en la base de datos y sus innodb_memcache contenedores de mesa.

Ejecutar esta instrucción de selección:

select * from containers G

  • seleccionar * de los contenedores G

Usted verá lo siguiente:

*************************** 1. row ***************************
name: aaa
db_schema: test
db_table: demo_test
key_columns: c1
value_columns: c2
flags: c3
cas_column: c4
expire_time_column: c5
unique_idx_name_on_key: PRIMARY
1 row in set (0.00 sec)

Para obtener más información sobre cómo crear diferentes asignaciones y averiguar las características avanzadas del memcached Plugin favor echa un vistazo el plug-in página memcached internos.

Beneficios de la integración de MySQL con un memcached Plugin

La anterior información y ejemplos describen algunos de los beneficios importantes de la integración de MySQL con NoSQL a través del plugin de memcached:

  • todos sus datos (MySQL y NoSQL) se pueden mantener en un solo lugar. Usted no tiene que instalar y mantener software adicional para los datos NoSQL.
  • de datos de persistencia, la recuperación y la replicación de datos NoSQL es posible gracias al potente motor de almacenamiento InnoDB.
  • La capa increíblemente memcached rápido acceso a los datos se puede todavía se utiliza para que pueda trabajar con mayores volúmenes de información en comparación a cuando se trabaja con el cliente MySQL más lento.
  • de datos NoSQL

  • se pueden manejar con interfaz de MySQL y sintaxis. De este modo se puede incluir datos NoSQL en consultas SQL más complejos, tales como combinaciones izquierda.

Conclusión

Al final de este artículo usted debe estar al tanto de las nuevas posibilidades para trabajar con datos NoSQL proporcionados por MySQL. Esto puede no ser una solución universal para reemplazar los servidores dedicados como NoSQL MongoDB, pero sin duda tiene sus méritos.