PDF de programación - Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora

Imágen de pdf Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora

Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedoragráfica de visualizaciones

Actualizado el 25 de Julio del 2021 (Publicado el 14 de Diciembre del 2017)
6.907 visualizaciones desde el 14 de Diciembre del 2017
17,5 KB
7 paginas
Creado hace 15a (27/09/2006)
Instalación y configuración de un servidor de base de datos MySQL

4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora.

Toni de la Fuente Díaz

http://blyx.com
Septiembre 2006

Introducción:............................................................................................................1
Datos de interés sobre MySQL en RedHat/Fedora:................................................1
Instalación: ..............................................................................................................2
Backup: ...................................................................................................................6
Comandos de interés: .............................................................................................7

Introducción:

La finalidad de este manual es guiar al administrador durante la instalación y
configuración de un entorno maestro-réplica de base de datos MySQL versión 4.1
entre dos máquinas con sistema operativo RedHat Linux ES 4.0. Este manual es
válido para cualquier versión de Linux o Unix con MySQL 4.1 teniendo en cuenta las
diferencias que hay en cuanto a la instalación de paquetes y localización de archivos
de configuración, logs, etc.

El paso previo a la instalación del entorno maestro/réplica es configurar correctamente
el archivo /etc/hosts de forma que podamos usar nombre de máquina en lugar de la IP
a la hora de generar los acuerdos de réplica, esto nos permitirá realizar una
configuración más sencilla permitiendo un cambio de IP sin necesidad de reconfigurar
el entorno.

Para realizar este documento utilizaremos dos máquinas siendo este el nombre y un
ejemplo del contenido del archivo /etc/hosts:

10.0.0.10 maestro maestro.blyx.inet
10.0.0.20 replica replica.blyx.inet

Datos de interés sobre MySQL en RedHat/Fedora:

La localización del archivo de configuración:

/etc/my.cnf

El script de arranque y parada:

/etc/init.d/mysqld {start|stop|restart|status}

Los archivos que componen las diferentes base de datos residen en el directorio:

/var/lib/mysql

El archivo de log:

/var/log/msyqld.log

Instalación:

La instalación de los paquetes necesarios se puede efectuar vía up2date,
conectándonos al canal “extras” o bien a través de los CD de instalación. El paquete
mysql-4.1.*, que contiene el cliente MySQL, se encuentra en el CD1 de instalación
mientras que el paquete mysql-server-4.1.* contiene el servidor de MySQL y está en el
CD 4. Esta tarea se puede hacer con el comando “yum install mysql-server” en
Fedora.

Nota: Mientras no se indique lo contrario, todos los pasos se realizan en las dos
máquinas, es decir, tanto en el Master como en la Réplica. El nombre que utilizaremos
para la base de datos de este ejemplo es MISDATOS.

Para instalar los archivos RPM ejecutamos los siguientes comandos:

# rpm -hiv mysql-4.1.7-4.RHEL4.1.i386.rpm
# rpm -hiv mysql-server-4.1.7-4.RHEL4.1.i386.rpm

Para ver qué y dónde se instalan los paquetes podemos ejecutar el comando `rpm –ql
mysql` o `rpm –ql mysql-server`.

Con la utilidad chkconfig activamos el proceso mysqld en el arranque del sistema, en
nuestro caso usaremos el run level 3.

# chkconfig mysqld on

Una vez instalado y activado en el arranque procedemos a arrancar el servidor:

# /etc/init.d/mysqld start
Initializing MySQL database:
Starting MySQL:

[ OK ]
[ OK ]

Establecemos la contraseña del root de mysql, superadministrador de la base de
datos:

# mysqladmin password contraseñadelrootdb

Accedemos a la shell de MySQL, creamos la base de datos que replicaremos y
asignamos permisos para acceso desde localhost para el usuario específico
misdatosuser:

# mysql -u root -p
Enter password:
mysql> CREATE DATABASE MISDATOS;
mysql> GRANT ALL PRIVILEGES ON MISDATOS.* TO 'misdatosuser'@'localhost'
IDENTIFIED BY ‘contraseñamisdatosuser’;

Nota específica si ya tenías una base de datos en formato MyISAM en otro servidor:

En este caso, tenía una base de datos en formato MyISAM con una sola tabla llamada
“documentos”.
Este manual está escrito para bases de datos con tablas InnoDB debido al mejor rendimiento
que ofrecen frente a MyISAM. De forma que si ya tienes una BBDD puedes pasarla a InnoDB
exportándola del servidor antiguo (con mysqldump) y modificando el esquema de cada tabla
para que la DB sea InnoDB en lugar de MyISAM:

# cp MISDATOS.sql MISDATOS.sql-InnoDB

Modificamos la última línea de creación de cada tabla por la siguiente:

# vi MISDATOS.sql-InnoDB
) ENGINE=InnoDB;

Una vez modificado insertamos el esquema en la DB correspondiente, este paso solo lo
hacemos en el master:

# mysql -u root -pcontraseñadelrootdb MISDATOS < MISDATOS.sql-InnoDB

Comprobamos que se han insertado correctamente los datos ejecutando una serie de
comandos básicos de SQL:

# mysql -u root -pcontraseñadelrootdb
mysql> show databases;
+----------+
| Database |
+----------+
| MISDATOS |
| mysql |
+----------+
2 rows in set (0.00 sec)

mysql> use MISDATOS;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+--------------------+
| Tables_in_MISDATOS |
+--------------------+
| documentos |
+--------------------+
1 row in set (0.00 sec)

mysql> select * from documentos;
+-----------------------------+----------------+------------+------+
| ID | USUARIO | FECHA | ROL |
+-----------------------------+----------------+------------+------+
| 1 | sadf | 0000-00-00 | 234 |
| 1LDQS3ASDFSDFASDFASDFASDFAS | asdfas | 2006-08-25 | NULL |
| 2 | sadf | 0000-00-00 | 234 |
| 3 | sadf | 0000-00-00 | 234 |
| 3I8DNFT90asdfasdfaasQPREBMK | lsosksskskATOS | 2006-08-25 | NULL |
| 68RUV4EI4U9NFeF063BS99MAPA7 | juanitoc | 2006-08-25 | NULL |
| FSHC3MTN3I3T8e48F714CL85BV4 | pepitoas | 2006-08-25 | NULL |
+-----------------------------+----------------+------------+------+
12 rows in set (0.00 sec)

Creamos el directorio donde almacenaremos los datos específicos de la replicación,
en las dos máquinas:

# mkdir /var/log/mysql
# chown mysql:mysql /var/log/mysql

Ahora procedemos a configurar el master, pare ello añadimos las líneas en negrita en
la sección [mysqld] del archivo /etc/my.cnf:

# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
server-id=1
innodb_flush_log_at_trx_commit=1
innodb_safe_binlog
sync-binlog=1
log-bin=/var/log/mysql/master-bin
log-bin-index=/var/log/mysql/master-bin.index

Las líneas anteriores indican el ID del servidor, debe ser único en toda la granja de
servidores, parámetros para optimizar InnoDB y ubicación de los archivos de registro
usados en la réplica.

Una vez hechas estas modificaciones reiniciamos el servicio mysqld en el servidor
master:

# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

Comprobamos que el servicio está arriba y escuchando en el Puerto 3306/TCP:

# netstat -an|grep -i listen|grep -i 3306

Configuramos la regla que permitirá al usuario slave_user realizar las réplicas entre el
maestro y el esclavo, esto se realiza en el servidor master:

# mysql -u root -p
Enter password:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'replica' IDENTIFIED BY
'contraseña_slave';
mysql> FLUSH PRIVILEGES;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 245 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> exit
Bye

Tomamos nota del archivo master-bin.000001 y la posición (245). Comprobamos que
efectivamente está el log binario, con el comando mysqlbinlog podemos ver el
contenido del mismo:

# mysqlbinlog /var/log/mysql/master-bin.000001

En el servidor esclavo realizamos la siguiente configuración:

# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
read-only
server-id=2
master-host=maestro
master-user=slave_user
master-password=contraseña_slave
master-connect-retry=60
replicate-do-db=MISDATOS
relay-log = /var/log/mysql/slave-relay-bin
relay-log-index = /var/log/mysql/slave-relay-bin.index

Con los parámetros anteriores indicamos que no se pueda escribir en la base de datos
para evitar inconsistencias, el ID único, los datos de conexión a la base de datos
maestra con el TTL (segundos) correspondiente así como la ubicación de los archivos
de registro.

Una vez hechas las modificaciones reiniciamos el servidor réplica para que tengan
efecto los cambios:

# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

Comprobamos que el servicio está arriba y escuchando en el Puerto 3306/TCP:

# netstat -an|grep -i listen|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:*
LISTEN

Aún no estamos replicando nada, todavía necesitamos volcar el estado actual de la
DB en el master al servidor esclavo.

Hacemos un volcado (dump) de la db MISDATOS en el master:

# mysqldump –u root -pcontraseñadelrootdb --all-databases > backup.sql

Copiamos el archivo backup.sql a la réplica por ssh y lo insertamos en la db,
previamente debemos crear la db MISDATOS en la réplica:

mysql> create database MISDATOS;
mysql> exit;

# mysql -u root -pcontraseñadelrootdb MISDATOS < backup.sql

En el master ejecutamos
  • Links de descarga
http://lwp-l.com/pdf7872

Comentarios de: Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad