Etiqueta: mysql

  • MySQL Replicación Master-Master

    Con la replicación de MySQL podremos tener varios servidores en sincronía, si bien MySQL tiene opciones como MySQL cluster puede que en algunos casos sea demasiado para nuestras necesidades y con una replicación sea suficiente. MySQL no soporta replicación bidireccional, unicamente unidireccional, destinada a tener un maestro y muchos esclavos, pensado para hacer todas las escrituras en el maestro y todas las lecturas en los esclavos y en el maestro.
    Esta idea surge a partir de que en aplicaciones de web dinamica normalmente se leen datos más veces de las que se modifica (pero no siempre tiene porque ser así). Aunque MySQL no soporte la replicación bidireccional podemos lograr el mismo efecto haciendo dos unidireccionales, el servidor A sera maestro de B y B esclavo de A, y también B sera maestro de A y A esclavo de B.
    Para poder hacer esto modificaremos los autoincreementales para evitar problemas de concurrencia. Empecemos haciendo la replicación del servidor A al servidor B. El escenario:
    • Servidor 1: 192.168.1.11
    • Servidor 2: 192.168.1.12
    • Base de datos (presente en ambos servidores): web
    • Usuario MySQL (lo crearemos para la replicación): replicacion
    • Clave MySQL: BFp7yv1wjqTxg5TLKha0
    Un punto importante a tener en cuenta es que la clave que le asignemos al usuario destinado a la replicación no sea mayor de 32 caracteres, en las claves de acceso podemos usar la longitud que deseemos pero la replicación con claves superiores a 32 caracteres pueden darnos fallos de conectividad en la actual versión de MySQL (5.5 cuando se escribió esto). Además, el usuario lo limitaremos a que solo pueda conectarse desde la IP del esclavo.
    Muy probablemente el usuario root creado en la instalación del mysql habrá que darlo de alta en la sección usuarios del mysql con el parámetro % para que sea capaz de entrar a configurar el servidor de MySQL desde cualquier IP de red.

    (más…)

  • Comandos útiles (IV)

     

     

     

     

     

     

    Averiguar las consultas que se están haciendo a una base de datos mysql en linux:

    tshark -i any -T fields -R mysql.query -e mysql.query
  • Resetear la password del Root en MySQL

    logo_mysql_sun_a¿Olvidó la clave del root de MySQL?. ¿Cómo se puede hacer un reset de dicha clave?

    Es posible resetear la clave de root. Usando el siguiente procedimiento para resetear la clave del passwordde la instalación MYSQL de cualquier sistema operativo del tipo Unix / Linux / BSD.

    Necesitas logearte como root bajo UNIX / Linux.

    Paso # 1: Parar MySQL

    Teclee el siguiente comando para para el servidor mysql bajo RHEL / Fedora / CentOS Linux:
    # /etc/init.d/mysqld stop
    Use el siguiente comando si usa FreeBSD:
    # /usr/local/etc/rc.d/mysql-server stop
    Use el siguiente comando si usa Debian / Ubuntu Linux:
    # /etc/init.d/mysql stop

    Alternativamente puede para el servidor MySQL enviando la señal kill al proceso mysqld, usando el nombre de path del fichero .pid con el siguiente comando:

    # kill $(cat /var/run/mysqld/mysqld.pid)
    O
    # pgrep -u mysql mysqld
    # kill PID

    O, simplemente use el comando killall bajo Linux:
    # killall mysql

    Paso # 2: Crear nuevo script sql para la clave del password

    Crea un fichero sql llmado /root/mysql.reset.sql como sigue (reemplace YOUR-NEW-MYSQL-PASSWORD con la nueva clave que quieras usar):
    # vi /root/mysql.reset.sql
    Añade el código siguiente:

    UPDATE mysql.user SET Password=PASSWORD('YOUR-NEW-MYSQL-PASSWORD') WHERE User='root';
    FLUSH PRIVILEGES;

    Salva y cierra el fichero.

    Paso # 3: Asigne la nueva clave de root

    Teclee el siguiente comando:
    # mysqld_safe --init-file=/root/mysql.reset.sql &
    Ejemplo de salida:

    nohup: ignoring input and redirecting stderr to stdout
    Starting mysqld daemon with databases from /var/lib/mysql
    mysqld_safe[20970]: started

    Y acabas de terminar con la operación de reseteo. Simplemente, para y ponga en marcha el servidor de nuevo:
    # killall mysqld
    # /etc/init.d/mysql start

    Original traducido desde nifCraft

  • Copia de seguridad mysql

    logo_mysql_sun_aHacer copias de seguridad de bases de datos mysql no es un asunto trivial.

    Existen script como automysqlbackup.sh que solucionan esto y además bastante bien. Pero en entornos Windows no tenemos estos script tan buenos. En esto entornos hay que recurrir a las herramientas que nos provee la propia instalación de mysql o bien utilizar las herramientas MySQL Administrator o MySQL Query Browser ambas disponibles gratuitamente en las páginas de mysql.org.

    Os cuento ahora mi experiencia personal: dispongo de varias bases de datos que poseen las tablas, varias vista y algunos procedimientos almacenados. MySQL Administrator dispone de una herramienta gráfica para hacer el (más…)