Instalacion del cluster de Percona en Ubuntu 16

agosto 21, 2017 13:10 by Admin
1º deshabilitamos apparmor
Comprobamos: apparmor_status


ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

2º pedir clave
apt-key adv --keyserver --recv-keys 1C4CBDCDCD2EFD2A

3º añadir los repositorios en /etc/apt/sources.list
deb VERSION main
deb-src VERSION main
Sustituyendo VERSION por la versión de UBUNTU

4º apt-get update

5º apt-get install percona-xtradb-cluster-56

6º Configurar my.cnf

# The MySQL database server configuration file.
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
# For explanations see

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
port = 3306
socket = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs

# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
socket = /var/run/mysqld/mysqld.sock
nice = 0



# Path to Galera library

# Cluster connection URL contains the IPs of node#1, node#2 and node#3

# In order for Galera to work correctly binlog format should be ROW

# MyISAM storage engine has only experimental support

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera

# Node #1 address

# SST method

# Cluster name

# Authentication for SST method

#allow MyISam replication
wsrep_replicate_myisam = ON

# * Basic Settings
pid-file = /var/run/mysqld/
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address =
# * Fine Tuning
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
# * Query Cache Configuration
query_cache_limit = 1M
query_cache_size = 16M
# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
# Error log - should be very few entries.
log_error = /var/log/mysql/error.log
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
# * InnoDB
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# * Security Features
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

max_allowed_packet = 16M

#no-auto-rehash # faster start of mysql but no tab completition

key_buffer = 16M

# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
!includedir /etc/mysql/conf.d/

7º Arrancar nodo principal con esta instrucción
/etc/init.d/mysql bootstrap-pxc

root@PERCONANODE1:/etc/mysql# /etc/init.d/mysql bootstrap-pxc
* Bootstrapping Percona XtraDB Cluster database server mysqld [ OK ]
Una vez arrancado entramos en el mysql
mysql –u root –p
Comprobamos que el galera esta funcionando:
Show status like ‘wsrep%’;

Añadimos el usuario que va a tener los permisos para la replicación:
CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 's3cretPass';

Añadimos el usuario root@% para el acceso remoto
CREATE USER 'root'@'%' IDENTIFIED BY 'contraseña’;
Ahora le damos permiso con todos los roles administrativos
Repetimos los pasos en los nodos 2 y 3 cambiando en el my.cnf las IP del nodo
Arrancamos el servicio con /etc/init.d/mysql start

En primer lugar creamos una entrada para el puerto 9200/tcp en el fichero services añadiendo la línea en el fichero /etc/services
mysqlchk 9200/tcp # mysqlchk
Instalamos xinetd con apt-get install xinetd
Cambiamos de directorio a /opt
Creamos el fichero mysqlchk con la siguiente configuración:
# This script checks if a mysql server is healthy running on localhost. It will
# return:
# "HTTP/1.x 200 OK\r" (if mysql is running smoothly)
# - OR -
# "HTTP/1.x 500 Internal Server Error\r" (else)
# The purpose of this script is make haproxy capable of monitoring mysql properly
# Author: Unai Rodriguez
# It is recommended that a low-privileged-mysql user is created to be used by
# this script. Something like this:
# mysql> GRANT SELECT on mysql.* TO 'mysqlchkusr'@'localhost' \
# -> IDENTIFIED BY '257retfg2uysg218' WITH GRANT OPTION;
# mysql> flush privileges;



# We perform a simple query that should return a few results :-p
WSSREP_STATUS=`/usr/bin/mysql --login-path=mysqlchkusr --host=$MYSQL_HOST -e "show status like 'wsrep_local_state';" | awk '{if (NR!=1){print $2}}' 2>/dev/null`

# Check the galera cluster consistent on node, your solution still allow connect to node even if cluster is desynced but mysql hear on
# 3306
if [ "$WSSREP_STATUS" == "4" ]
# mysql is fine, return http 200
/bin/echo -e "HTTP/1.1 200 OK\r\n"
/bin/echo -e "Content-Type: Content-Type: text/plain\r\n"
/bin/echo -e "\r\n"
/bin/echo -e "MySQL is running.\r\n"
/bin/echo -e "\r\n"
# mysql is fine, return http 503
/bin/echo -e "HTTP/1.1 503 Service Unavailable\r\n"
/bin/echo -e "Content-Type: Content-Type: text/plain\r\n"
/bin/echo -e "\r\n"
/bin/echo -e "MySQL is *down*.\r\n"
/bin/echo -e "\r\n"

Grabamos y le cambiamos los permisos con chmod +x mysqlchk
Creamos el usuario mysqlchkusr en el mysql con la siguiente orden
mysql> GRANT SELECT on mysql.* TO 'mysqlchkusr'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> flush privileges;

Creamos el alias de usuario y password ya que pasar el usuario y contraseña por un script en mysql es altamente inseguro y no nos permite atacar al ejecutable mysqlchk de /opt, por tanto, ejecutamos la siguiente orden
mysql_config_editor set --login-path=mysqlchkusr --host=localhost --user=mysqlchkusr --password
Nos pedirá el password, que es el que previamente hayamos puesto al crear el usuario en la base de datos.

Ahora vamos a /etc/xinetd.d y editamos el fichero mysqlchk y debe contener este texto, este fichero ya está creado pero la línea server manda a una ruta que es la que hay que cambiar por el ejecutable que hemos creado en /opt/mysqlchk

# default: on
# description: mysqlchk
service mysqlchk
# this is a config for xinetd, place it in /etc/xinetd.d/
disable = no
flags = REUSE
socket_type = stream
port = 9200
wait = no
user = nobody
server = /opt/mysqlchk
log_on_failure += USERID
only_from =
# Passing arguments to clustercheck
# "
# Recommended: server_args = user pass 1 /var/log/log-file 0 /etc/my.cnf.local"
# Compatibility: server_args = user pass 1 /var/log/log-file 1 /etc/my.cnf.local"
# 55-to-56 upgrade: server_args = user pass 1 /var/log/log-file 0 /etc/my.cnf.extra"
# recommended to put the IPs that need
# to connect exclusively (security purposes)
per_source = UNLIMITED

Luego cambiamos los permisos con chmod 0644 mysqlchk
Reiniciamos el servidor
Una vez reiniciado, si hacemos un telnet a la IP del nodo puerto 9200 nos tiene que dar un código 200 si el mysql está levantado y un 503 si no lo está

Modo Dios en Windows 8

diciembre 31, 2012 13:59 by admin

Ya vimos en Windows 7 que podemos, mediante un acceso directo, entrar al modo Dios (godmode), simplemente es un acceso directo donde podremos acceder a todas las características de configuración del sistema.

En Windows 8 estos trucos también funcionan.

El más famoso es el ya comentado el godmode y para activarlo es muy sencillo, en el escritorio creamos una nueva carpeta y posteriormente cambiamos en el acceso por este código:






Y en el nombre introducimos el código que he puesto anteriormente.







Automáticamente cambia al icono del panel de control







Y ya podremos acceder a todas las características y configuraciones de nuestro Windows 8 con un solo click de ratón.









Espero, como siempre que os guste y sea útil.
Despedimos así este 2012 y os envío mis mejores deseos para este nuevo 2013 que estrenamos en pocas horas.


12 días de regalos Itunes

diciembre 13, 2012 17:35 by admin

Al igual que el año pasado, Apple nos vuelve a dejar 12 días de regalos sorpresa.

Ya tenemos en ITunes disponible una App que se llama 12 días de regalos de ITunes. Instalándola podremos acceder desde el día 26 de diciembre hasta el 6 de enero a una aplicación, libro, video o música que será una sorpresa.
Como el año pasado habrá algunas interesantes y otras menos, eso si, para todos los gustos.
Primer regalo de reyes anticipado… a ver si cae un nuevo IPAD, se lo pido ya a los de Oriente.

Según lo que dice  la reseña del propio iTunes:
Podréis descargaros una selección de canciones, videos musicales, apps y libros gratis.
Estaremos atentos a los regalos que nos ofrece Apple en estas fechas.
Recordad, hay que descargarse la aplicación desde el Apple store para poder obtener los regalos.











Espero que el post os guste y os sea útil.

Felices apps¡¡


El botón de inicio en Windows 8

diciembre 5, 2012 16:55 by admin


Microsoft ha dado un giro de 180º en la concepción de Windows 8, está, evidentemente orientado a tabletas y equipos de pantalla táctil.

Por lo que he podido probar en estos tres últimos meses entre laboratorios (consumer preview) y la versión definitiva me ha gustado mucho, ante todo, la velocidad.

En mi equipo, un Core 2 duo con 4 GB de RAM funciona infinitamente más rápido, sobre todo en el arranque que con windows 7.

Hay ciertas compatibilidades que no terminan de estar a la altura eso y Explorer 10, que no me termina de encajar, pero será porque no lo he investigado lo suficiente.

Dicho esto lo que todo el mundo echa de menos es el denostado botón de inicio, ese útil botón de inicio.

Como he dicho anteriormente Windows 8 está orientado a tabletas y ahí el interfaz gráfico cobra sentido, pero para pc no tanto.

Existen dos soluciones en el mercado que yo haya probado para tener el botón de nuevo en el escritorio, el Classic Shell que es gratuita y Start 8 de stardock, que es de pago.

Yo, por ser gratuita, evidentemente me inclino por Classic Shell, pero con la unión de ambas, conseguimos un entorno más personalizado e incluso más acorde con Windows 8 y me explico.

Classic Shell es menos bonito a nivel visual que Start 8 pero no me apetece renunciar a un botón de inicio poco favorable a nivel visual en mi Windows 8.

Para ello, instalo primero Start 8. Al personalizarlo, nos encontramos que nos ofrece una serie de png para personalizar nuestro botón y darle un aspecto bien retro al estilo Windows XP, bien moderno al estilo puramente Windows 8.

Una vez que he instalado start 8 vamos a Program Files (x86)\stardock\Start8\Startbuttons y ahí encontramos los siguientes png con los botones







Copio estos png en un directorio del disco y desinstalo Start 8, aunque, como tenemos un mes de prueba, podemos jugar con él.

Classic Shell no nos ofrece este abanico de posibilidades, el botón de inicio, para mi gusto es bastante feo



Pero podemos coger lo mejor de uno y de otro.
Por tanto instalo también Classic Shell y me voy a la configuración, elijo All Settings que encontramos en la parte inferior de la configuración y buscamos la pestaña de Start Button








En la opción Button Image buscamos en nuestro equipo la carpeta en la que hemos guardado los png de Start 8 y seleccionamos el que más nos guste.

Si queremos ir personalizando algo más del menú, aprovechamos para configurarlo y aceptamos nuestra personalización.

Una vez realizado, aquí tenemos el botón elegido, dando, en mi caso un aspecto más “Windows 8” a nuestro botón.




Mucho mejor para mi gusto.

Como siempre, espero que os sea útil este post.



Cerrar App en Windows 8. La solución está en los rincones

mayo 31, 2012 10:48 by admin

Después de varios días de trabajar e investigar con el nuevo Windows 8 Consumer Preview tenemos los primeros problemas.

Curioseando, encontramos el botón de Start , un poco escondido para mi gusto, pero todo es cuestión de acostumbrarse. Aprovecho desde esta modesta tribuna, le diría a los desarrolladores de Redmond (que no me van a leer) que los que nos dedicamos a dar soporte a los usuarios nos van a poner las cosas un poco más complicadas, todavía hay un parque en España bastante grande de Windows XP, los que pasan a 7 les cuesta acostumbrarse y omitimos las experiencias de Windows vista…


Bueno, una vez localizado el botón de Start arrancamos alguna de las flamantes App que nos abren un nuevo mundo de aplicaciones integradas en el S.O.
En nuestra mente seguimos buscando el botón de cerrar que no encontraremos en estas App si en otros programas que están desarrollados para otras plataformas que no son Windows 8 y como no tenemos el botón de cerrar, que hacemos?

El primer recurso es ir al administrador de tareas para cerrarlas y es efectivo, puesto que cierras las App pero para mi gusto un poco chapucero, así que hay que seguir buscando el como, no me creo que desde Microsoft se les haya pasado este pequeño detalle de usabilidad.

El secreto está en los rincones…

Ya que para llegar al botón de inicio es necesario desplazar el puntero del ratón al rincón inferior izquierdo, para apagar el equipo o ir al panel de control es necesario ir al rincón inferior derecho, hay que seguir probando con los otros rincones.

El superior derecho, de momento y que yo haya visto no hace absolutamente nada, rincón desaprovechado, pero si hemos abierto uno o varios programas acercamos nuestro puntero del ratón al rincón superior izquierdo y !!Volia¡¡ ahí está nuestro truco de la semana.

Se nos abre una pequeña ventana que hace las veces del Alt+TAB para cambiar de App, pero todo más ratoniano, sin teclado.



Si nos fijamos, al posicionar el ratón encima de este rincón, en la parte de debajo vemos una pequeña pestaña transparente.

Si nos desplazamos hasta ella, se desplegara la columna entera con todas las APPS abiertas para que podamos ir cambiando entre ellas:



Si encima de alguna de estas miniaturas pulsamos con el botón derecho del ratón, y tendremos la Opción close.

Pulsamos sobre esta opción y la App se cierra sin tener que recurrir al administrador de tareas ni a otros atajos de teclado.


Espero que esto os ayude a mejorar vuestra experiencia con Windows 8.



Alberto Ortego

MCTS Exchange 2010
MCTS Office Communications server 2007
MCTS SharePoint 2010