Sei sulla pagina 1di 10

Instituto de Estudios Superiores de Chiapas

Plantel Tapachula - Universidad Salazar


CLAVE: 07PSU0037T

Materia: Base de Datos Distribuidas

Catedrático: Líc. Carlos Hernandez Salas

Tema: Conexión Maestro-Esclavo (Linux-Linux)


y Aplicación con Windows
Alumno:
Arriola Cortes Wilfrido
Martinez Ovando Erivan

to 03-11-2010
Grado: 7 Cuatrimestre
Grupo: Único

Carrera: I S C
OJO... DEBES ESTAR CONECTADO A INSTERNET.

Para empezar hay que instalar mysql-server 5.0 en el maestro y en el esclavo.

En ambos equipos está instalado Ubuntu 8.4 y MySQL Server 5.0.

Y una forma fácil de instalar mysql-server 5.0 es ir a SISTEMA, luego en


ADMINISTRACION luego dar click en gestor de paquetes Synaptic y te va a pedir
el password.

Bueno después de introducir el password, le das click en RECARGAR cuando


finalize en el recuadro de buscar escribes MYSQL-SERVER 5.0
Y te aparecerá en un recuadro de abajo vas a dar click derecho en la opción
MYSQL-SERVER luego das click en marcar para instalar, y automáticamente te
marcara todas las aplicaciones que se instalaran con mysql, luego das en aceptar
para posteriormente dar click en aplicar.
INICIA EL PROCESO DE LA INSTALACION DE MYSQL-SERVER 5.0

Una vez que halla finalizado la instalación vamos a reiniciar el servidor de mysql
este código lo escribes en la terminal:

Cd /etc/init.d

estando dentro escribes ./mysql restart y te deben de aparecer dos opciones de


(OK) esto nos indica que el servidor de mysql se reinicio correctamente. Bueno ya
tenemos reiniciado el servidor.

Ahora hay que crear la base de datos en mysql:

Mysql –u root –p
123

Create database escuela;


Use escuela;
Create tables catedraticos(nombre varchar(20), material varchar(20));

NOTA: tambien tienes q crear una base de datos en la otra PC con el mismo
nombre de la base de datos y la table con sus respectivos campo.

1.- configuramos la red de la pc que va hacer el maestro y tambien la pc que va


hacer el esclavo.
NOTA: pudes usar un switch para conectar las dos pc’s si en este caso tienes
cables cliente-servidor y para no usar un switch pudes usar un cable crossover.

2.- Entramos a la terminal y escribimos el siguiente codigo:


Sudo ifconfig eth0 140.160.0.1 netmask 255.255.0.0 up y despues le pedira el
password= ******

Eth0= es el nombre de la red a la que esta conectada la pc


140.160.0.1= es la IP que se le asigna a la PC.
255.255.0.0= es la marcara de la IP.

Despues de hacer la configuracion de la red, se tiene que hacer un ping


para ver si la maquina tiene respuesta y tiene que aparecer algo como esto y para
fionalizar el proceso presiones CTRL+C:
Buenos si todo esto te ha salido a la perfeccion es hora de hacer la
conexion de pc-pc.

3.- tenemos que reiniciar el servidor de mysql.

Entramos a cd /etc/init.d estando dentro de esta ruta escribimos. ./mysql


restart recuerden que tiene que marcar 2 veces (ok).

4.- Configurar el Maestro PC


Vamos a editar el archivo /etc/mysql/my.cnf. Tenemos que permitir la creación de
redes para MySQL, y MySQL por lo que comente estas líneas (si existe):
# Skip-networking
# Bind-address = 127.0.0.1

Al Bind-address no le ballas a quitar el simbolo de #.

El bind-address lo vas a encontrar en la línea 54. El numero de línea lo puedes ver


en la parte inferior de la derecha. Y ahí haces lo siguiente:
Aqui tenemos que cambiar la direccion IP 127.0.0.1 por la que le vamos a dar a
nuestro servidor en este caso es 140.160.0.1. Queremos replicar la base de
datos escuela, así que pusimos las siguientes líneas en /etc/mysql y luego
escribes gedit my.cnf y acontinucacion tienes que modificar los siguientes
datos:

El log-bin está en la línea 96, y ahí mismo encontraras a los demás.


log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db = escuela
server-id = 1

NOTA: a estos si quitales el simbolo de #.

Ahora entramos a mysql:


mysql –u root –p
123

Ahora estamos en MySQL. Y accedemos a la bade de datos


Use escuela;

Dentro de la base de datos se crea la replicacion con el siguiente codigo:

GRANT REPLICATION SLAVE ON *.* TO 'erivan'@'%' IDENTIFIED BY '123’;

Erivan: es el nombre que le vas a dar al usuario para que se conecta desde el
esclavo al maestro.
%: este símbolo es para que tenga todos los permisos sobre la base de datos.
123: es el password que le vas a dar al usuario.

Luego escribes dentro de mysql:

FLUSH PRIVILEGES;

Ahora renicias mysql:

Entramos a cd /etc/init.d estando dentro de esta ruta escribimos. ./mysql


restart recuerden que tiene que marcar 2 veces (ok).

Luego de reiniciar entramos nuevamente a mysql:

Mysql –u root –p
123

Luego:

USE escuela;
FLUSH TABLES WITH READ lock;
SHOW MASTER STATUS;
El último comando mostrará algo como esto:

Anote esta información, nos hará falta más adelante en el esclavo!

Salir de MySQL:

quit;

Por último tenemos que abrir las tablas en la BD escuela:


mysql-u root-p
123
UNLOCK TABLES;
salir con:
quit;

Ahora la configuración en el maestro ha terminado. Ahora vamos a


configurar el esclavo:

Ahora tenemos que decirle a MySQL que es el esclavo, que el maestro


es 140.160.0.1, y que la base de datos principal para ver es escuela. Y tenemos
que editar el archive my.cnf:

Cd /etc/mysql estando dentro escribimos gedit my.cnf

Y cambiamos estos datos y a la vez tendremos que agregar los datos que nos
hagan falta:

El server-id se encuentra en la línea 90. Después de cambiar el server-id en la


lineam siguiente escribes el resto del código que falta. Y todos estos datos no
deben de tener el símbolo de #.
server-id = 2
master-host = 140.160.0.1
master-user = slave_user
master-password = 123
master-connect-retry = 60
replicate-do-db = escuela

Despues reinicianmos MySQL:

/Etc/init.d estando dentro escribimos . /mysql restart

Por último, debemos hacer lo siguiente:

mysql-u root-p
123
SLAVE STOP;
En el comando siguiente aun estando dentro de MySQL tienes que sustituir los
valores apropiadamente:

CHANGE MASTER TO MASTER_HOST='140.160.0.1', MASTER_USER='erivan',


MASTER_PASSWORD='123', MASTER_LOG_FILE=' mysql-bin.000001 ',
MASTER_LOG_POS=98;

Recuenden que copiaron unos datos cuando configuramos el maestro, es por que
aquí es donde nos va a servir:

 MASTER_HOST: es la dirección IP o el nombre del maestro (en este ejemplo


es 140.160.0.1).
 MASTER_USER: es el usuario que concede privilegios de replicación en el
maestro.
 MASTER_PASSWORD: es la contraseña de MASTER_USER en el maestro.
 MASTER_LOG_FILE: es el archivo de MySQL devolvió al ejecutar SHOW
MASTER STATUS; en el maestro.
 MASTER_LOG_POS: es la posición de MySQL devolvió al ejecutar SHOW
MASTER STATUS; en el maestro.

Ahora todo lo que queda por hacer es arrancar el esclavo. Todavía en el servidor
de MySQL escribimos:

START SLAVE;
quit;

Y por ultimo desde el servidor maestro accedemos a mysql y luego le introducimos


los datos a nuesgtra base de datos desde el esclavo, para luego en el esclavo ver
todos los datos que se introdujeron en el maestro.
Ahora lo que vamos hacer es la configuración de windows a Linux .

Lo primero que hay que hacer es crear un usuario con grant all en Linux estando
dentro de mysql.

Mysql –u root –p
123

Grant all on artículos.articulos to martinez@’%’ identified by ‘123’;

Grant all on: es el tipo de usuario


Artículos.articulos: es la base de datos y la tabla
Martinez: es el nombre del usuario
123: es el parrword

Luego nos vamos a windows y en el proyecto que se creo en visualFoxPro 9


vamos a realizar el código de la conexión a la pc master que esta en Linux.

En la opción de código creamos un nuevo programa y escrimos:

release conen // variable para la conexion


public conen // la variable se convierte en una variable publica

Nota: cuando hablamos de public es que podemos tener acceso a esa


variable desde cualquier aplicacion.

conen=sqlstringconnect("Driver={MySQL ODBC 5.1


Driver};server=192.168.0.1;Database=articulos;user=martinez;password=123;
option=3;")
messagebox("Conexion establecida")

luego utilizamos en el driver mysql odbc 5.1, luego server es la IP y esta dirección
ip es la dirección del master que esta en Linux, el database es el nombre de la
base de datos desde Linux, user es el nombre del usuario que se creo en Linux
con el grant all y lo ultimo el password.

Este es nuestro formulario a qui es donde guardamos y eliminamos los datos que
se guardar en la base de datos del servidor maestro que esta en Linux.
En el formulario tiene que llevar un código:
Hacer doble click sobre el formulario y en el procedimiento load escribes:

DO C:\conexioneslinuxwindows\llama.prg

Y ahi mismo pero ahora en el metodo init

=sqlexec(conen," select * from articulos","co")


select co
thisform.grid1.recordsource="co"

ahora en el botón guardar y en procedimiento click:

IF MESSAGEBOX("son correcto los datos",4+32, "confirmar")=6

ENDIF

vidproducto=ALLTRIM(thisform.text1.Value)
vdescripcion=ALLTRIM(thisform.text2.Value)
vlinea=ALLTRIM(thisform.text3.Value)
vpcosto=thisform.text4.Value
vpventa=thisform.text5.value

SQLEXEC(conen,"insert into
articulos(idproduct,descrip,linea,pcosto,pventa)values('"+vidproducto+"',
'"+vdescripcion+"','o"+vlinea+"','"+vpcosto+"','"+vpventa+"')")
thisform.Init()
en buscar y procedimiento click:

x=alltrim(thisform.text1.value)

sqlconsulta=(" select * from articulos where articulos.idproduct='"+ x


+"' ")
=sqlexec(conen,sqlconsulta,"csrarticulos")

thisform.text1.value=idproduct
thisform.text2.value=descrip
thisform.text3.value=linea
thisform.text4.value=pcosto
thisform.text5.value=pventa

en eliminar y procedimiento click:

x=alltrim(thisform.text1.value)
if messagebox("¿son correctos los datos?", 4+32,"confirmar")=6
sqlconsulta=(" delete from articulos where articulos.idproduct='"+ x +"'
")
=sqlexec(conen,sqlconsulta,"csrarticulos")
thisform.Init()

thisform.text1.value=""
thisform.text2.value=""
thisform.text3.value=""
thisform.text4.value=""
thisform.text5.value=""

endif

y finalmente en salir:

thisform.Release

Potrebbero piacerti anche