Feliz Año Nuevo 2009
A todos los visitantes que llegan a esta su humilde pagina.
A todos los visitantes que llegan a esta su humilde pagina.
Disculpen a todos nuestros visitantes pero como es fin de año los colaboradores de tucancunix andan trabajando
aqui les dejo esta fabula, cualquier similitud con la realidad es mera coincidencia.
Esperamos que tengan felices fiestas navideñas ![]()
En la rama experimental podemos encontrar nuevas versiones de algunos paquetes incluso más actuales a los que se encuentran en sid. Tal es el caso del gimp, que en testing/lenny y sid anda el 2.4 y para poner el 2.6: apt-get -t experimental gimp Asegurate antes de tener el repositorio de la rama experimental en tu sources.list: deb http://ftp.cz.debian.org/debian/ experimental main contrib non-free Y de la misma manera también podemos instalar openoffice3, awesome3 y algun otro paquete que se haye una versión más actual en experimental.
#pkg-get en Solaris
(manejador de paquetes para solaris)
Como primer paso le recomiendo se den una vuelta por
http://www.bolthole.com/solaris/pkg-get.html Que es el sitio oficial para el manejador de paquetes que utilizaremos llamado
pkg-get
Usando pkg-get Y el repositorio blastwave podremos instalar software en nuestro Solaris/Open Solaris de manera similar a debían.
Primer Paso instala pkg-get
#pkgadd -d http://www.blastwave.org/pkg_get.pkg
Aceptamos todas las preguntas que nos hará el instalador,el repositorio a usar es www.blastwave.org que contiene 1700 paquetes de sofrware en su mayoria open source todo este repositorio trabaja bajo /opt/csw Y el Fichero de configuracion de pkg-get se encuentra en
/opt/csw/etc/pkg-get.conf
Definimos nuestro mirror a usar
url=http://mirrors.sunsite.dk/csw/stable
Si estamos atrás de un Firewall o algun Proxy
configuramos las lineas correspondientes
# If you are behind a firewall, set one of these as appropriate
#ftp_proxy=http://your-proxy:8023
#http_proxy=http://your-proxy:8023
#export http_proxy ftp_proxy
Guardamos y como primer paso
#/opt/csw/bin/pkg-get -U
Y es todo a instalar el software que necesitemos ![]()
Se me ocurre instalar
/opt/csw/bin/pkg-get -i nano
/opt/csw/bin/pkg-get -i bash
/opt/csw/bin/pkg-get -i vim
En el siguiente tutorial sera configuracion de postfix en Solaris Usando Mysql para la BD de usuarios ![]()
Dudas a roa@unixmexico.org/roa@tucancunix.net
Replicacion de Mysql en FreeBSD
Master To Slave
El punto es.. mantener tus B.D sincronizanadas y no tener perdida de datos , y tener nuestros backups al día.
Manos a la Obra
Requerimientos mínimos
Tener Acceso root tanto en el sistema como en las base de datos.
Servidor 1 FreeBSD 6.3 (será Nuestro servidor Master)
Mysql Server mysql-server-5.0.51a (Corriendo N cantidad de Base de datos)
Servidor 2 FreeBSD 7.0
Mysql Server mysql-server-5.0.67_1 (Sin Bases de datos)
La teoría es replicar las bases de datos del Servidor 1 al Servidor 2 Y ya en el servidor 2 sacarle un backup a todas nuestras base de datos, para no sobre cargar nuestro servidor 1 que se encuentra en producción.
Aquí pueden replicar 1 base de datos o todas las base de datos mi caso es el segundo.
Les recomiendo se lean http://dev.mysql.com/doc/refman/5.0/es/replication.html antes de comenzar todo.
y si por algun motivo algo no les funciona revisen de nuevo sus configuraciones en ambos servidores por que si no pasaran horas tratando de dar con el problema y resultara que se les fue algún carácter raro en los archivos de configuración de mysql “Experiencia Personal” , al mejor cazador se le va la liebre no?.
Manos a la obra.
En nuestro Servidor 1 Que es nuestro servidor Master de Mysql daremos de alta
un usuario que nos servira para replicar las bases de datos con esta sentencia
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replicador'@'host_esclavo' IDENTIFIED BY 'mi_contraseña';
Donde replicador=Es el usuario que nos permitira hacer la replica de nuestras bases de datos
hosts_esclavo=la ip o el host de nuestro servidor esclavo
mi_contraseña= Sera igual a la contraseria del usuario que replicara las bases de datos.
En nuestro Servidor 2 Ingresamos la misma sentencia
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replicador'@'host_master' IDENTIFIED BY 'mi_contraseña';
El Unico cambio aqui sera el host_master que sera igual a la Ip o el nombre del host.
Siguiente paso configuración de los servidores de Base de Datos tanto en el Servidor 1 (Master) Como en el Servidor 2 (Slave)
Editaremos En el Servidor1 (Master) El archivo my.cnf , si usamos Linux/Unix/Windows usaremos nuestro editor de texto preferido.
nano /var/db/mysql/my.cnf
Agregaremos estas opciones
[mysqld]
server-id = 1
log-bin = /var/log/mysql/bin.log
Donde server-id es un numero con el que se identificare al servidor maestro.
La segunda linea log-bin es la ruta de la bitacora binaria, Asegurarnos que ese directorio exista y que el usuario mysql sea el propietario y tenga
permisos de escritura sobre el mismo directorio.
#mkdir /var/log/mysql; chown mysql.mysql /var/log/mysql
Para Nuestro Servidor Esclavo o Slave, añadiremos unas lineas extras al archivo de configuración de my.cnf
Buscamos la sección
[mysqld]
server-id= 2
master-host = host_maestro,com # o la IP del servidor maestro
master-port = 3306
master-user = replicador
master-password = mi_contraseña
log-bin = /var/log/mysql/bin.log
log-bin-index = /var/log/mysql/log-bin.index
log-error = /var/log/mysql/error.log
relay-log = /var/log/mysql/relay.log
relay-log-info-file = /var/log/mysql/relay-log.info
relay-log-index = /var/log/mysql/relay-log.index
Y ahora que ? Ya tenemos las configuraciones tanto en el servidor 1 (master) como en el Servidor2(Slave)
El siguiente paso sera copiar todas las BD del Servidor 1 Hacia el Servidor2
Pero si el servidor Master esta en produccion si sacamos un respaldo de nuestro servidor master
y lo llevamos al servidor slave, podrian existir inconsistencias en nuestras base de datos
Para eso tendremos que prevenir todo eso.
En nuestro servidor master hacemos esto
mysql> SHOW VARIABLES LIKE 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 100 |
+-----------------+-------+
mysql> SET GLOBAL max_connections = 0;
Lo que hicimos es indicarle a mysql que ya no podran realizarse conexiones a la BD y solo se reserva
1 sola conexion que es para root .
Y procedemos a sacar el dump de todas las bases de datos.
# mysqldump --user=root --password=mi_root_pwd --extended-insert --all-databases --master-data > /tmp/backup.sql
Necesita explicacion? .
Procederemos a llevarnos nuestro backup de nuestras BD hacia el servidor esclavo ya sea usando
scp or ftp como sea de nuestro agrado tranferirlas.
Ok Cuando Establecimos las conexiones a 0 y al sacar el dump de eso
Nos agrega unos datos que probablemente necesitaremos mas adelante.
####
--
-- Position to start replication from
--
CHANGE MASTER TO MASTER_LOG_FILE='bin.00046' ;
CHANGE MASTER TO MASTER_LOG_POS=8827 ;
###
O podemos obtener estos datos en el servidor master
En el servidor maestro visualizamos el estado del servidor:
mysql> SHOW MASTER STATUS\G
File: bin.00046
Position: 8827
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
Bueno nos quedamos en la parte de mover el backup hacia nuestro servidor esclavo y restauraremos
todas las bases de datos con la siguiente sentencia.
Siguiente paso
#mysql --user=root --password=mi_root_pwd < /tmp/backup.sql
Si no nos da ningun error eso quiere decir que todas nuestras bases de datos fueron restauradas en nuestro
servidor slave.
Iniciamos con esta sentencia nuestro servidor SLAVE no olviden regresar a 100 la opcion de max_connection.
#mysql>CHANGE MASTER TO MASTER_HOST='ip-maestro',MASTER_USER='slave', MASTER_PASSWORD='slaveabdul',MASTER_LOG_FILE='bin.00046', MASTER_LOG_POS=8827;
#mysql> START SLAVE;
Aqui si todo esta bien se empezaran a sincronizar los ultimos cambios del servidor master
al servidor slave.
Facil no?
Ahora si necesitamos sacar un respaldo en nuestro servidor Slave
Solo basta con parar la replicacion
mysql> STOP SLAVE;
Y sacar el dump de cualquier base de datos y luego volver a arrancarlo
mysql> START SLAVE;
O podemos sacar respaldos Automatizados, mediante este script en bash.
#!/bin/sh
fecha=`date +%Y%m%d`
mysqladmin --user=root --password=mi_root_pwd stop-slave
mysqldump --user=root --password=mi_root_pwd --lock-all-tables --all-databases > /roa/mysql/respaldo-$fecha.sql
mysqladmin --user=root --password=mi_root_pwd start-slave
Se le pueden agregar mas opciones
pero ya es cuestion de uno. Si son algo paranoicos podremos hacerlo sobre ssh-tunels para Mysql aqui en un tutorial que anteriormente escribi espero que le sirva
Dudas a roa@unixmexico.org,roa@tucancunix.net
Como estamos de acuerdo que no somos diseñadores, es por eso que sacamos esta convocatoria.
Que tienes que hacer para ganar estos SUPER premios?
Muy fácil, realiza la nueva cara de TuCancUnix
De todas nuestras visitas que tenemos diarias y los linuxeros de la región que nos visitan
El congreso pintaba para algo bueno y realmente en varios puntos dejo mucho que desear.
Organización
PUNTOS MALOS
Si piden que lleves tu laptop para entrar a los talleres y no hay conectores de corrientes. Obviamente la batería de mi lap no daba para todo el día.
Y peor aun la señal WiFI que habían puesto para el taller no era lo suficiente mente buena
La señal que había en el hotel costaba $160 pesos obviamente fue fácil adivinar los usuarios y password de ese acceso wirelles
Los talleres sin comentarios .
Mala atención por algunos de los que atendían
PUNTOS BUENOS
Solo unos ponentes valieron la pena.
*John Resig
*Freddie Vega
*Leo Prieto
*Molly Holzchlag
Navegar completamente gratis :P
Frases Celebres Durante el Congreso
En Mexico, el software se “Maquila”: “Nosotros maquilamos software para una compañia … ”
Luis Daniel Soto (Microsoft): “Nosotros los suramericanos nisiquiera somos capaces de optimizar nuestros sitios para aparecer en Google”
“En Cancún no existen buenos Desarrolladores/Programadores,por eso los mando a traer de fuera” Obviamente esta frase va de la mano con lo que sigue…
Que en plena conferencia de seguridad en aplicaciones web 2.0 un ex-trabajador “Descubra los fallos de seguridad de la aplicación que el programo ” = $10 pesos
Que la empresa que desarrollo esa aplicación sea una de las “Mejores Empresas de Desarrollo en Cancún”,note el sarcasmo . = $20 pesos
Que tu ex-jefe te Diga que “no puedes publicar los fallos de ciertas aplicaciones que ellos mismos desarrollaron” ,en plena conferencia ='priceless’
GreenSQL is an Open Source database firewall used to protect databases from SQL injection attacks. GreenSQL works as a proxy and has built in support for MySQL. The logic is based on evaluation of SQL commands using a risk scoring matrix as well as blocking known db administrative commands (DROP, CREATE, etc). GreenSQL is distributed under the GPL license.
Si ya se que hay infinidad de manuales de como instalar Mysql En FreeBSD pero uno mas no vendrá nada mal.
Mysql 5.0 en FreeBSD 6.3
cd /usr/ports/databases/mysql50-server/
cd /usr/ports/databases/mysql51-server/
cd/ /usr/ports/databases/mysql40-server/
cd /usr/ports/databases/mysql41-server/
Que versión seleccionar? eso dependera de nuestros requerimientos.
En Nuestro caso seleccionaremos la rama 5.0
# cd /usr/ports/databases/mysql50-server/
make install clean
Siguientes paso
mysql_install_db --user=mysql
#Asignamos Permisos
chown -R mysql /var/db/mysql/
chgrp -R mysql /var/db/mysql/
Agregamos a nuestro rc.conf “mysql_enable=”YES"
Para que cuando reiniciemos nuestro server se levante sin ningun problema.
echo ‘mysql_enable=”YES”‘ >> /etc/ rc.conf
Iniciamos Mysql
/usr/local/etc/rc.d/mysql-server start
El primer paso es Asignar el Password de root de la Base de Datos
/usr/local/bin/mysqladmin -u root password 'yournewpassword'
En el directorio /usr/local/share/mysql
Tenemos estos archivos
-r--r--r-- 1 root wheel 4877 Oct 26 05:40 my-large.cnf
-r--r--r-- 1 root wheel 4884 Oct 26 05:40 my-medium.cnf
-r--r--r-- 1 root wheel 2454 Oct 26 05:40 my-small.cnf
De nosotros dependera saber cual .cnf seleccionar y moverlo a /var/db/mysql
#mv my-large.cnf /var/db/mysql/my.cnf
Y luego reiniciamos Mysql y ya tiene que estar leyendo el fichero de configuracion de my.cnf
Y es donde configuraremos mas adelante las opciones de nuestro servidor de base de datos.
#/usr/local/etc/rc.d/mysql-server restart