Archivo de la categoría: Tecnologia

temas de tecnologia

php5 PDO-firebird debian ubuntu

Pues el día de hoy,

hubo un nuevo requerimiento, ya que prefiero no usar ubuntu, no habia configurado esto en realidad es muy simple y como agarre la configuracion a medias no sabia que hay ya en el server y que no,

una vez instalado y configurado Firebird

bueno lo primero fue

sudo apt-get install php5-dev

luego

apt-get source php5

cd php5-*
cd ext/pdo_firebird
phpize
sudo ln -s /usr/include/php5 /usr/include/php
./configure
make
sudo make install

despues

sudo nano (vi, segun prefieran) /etc/php5/conf.d/pdo.ini (este directorio puede variar)
# configuracion para el modulo PDO Firebird
extension=pdo.so
extension=pdo_firebird.so

reiniciamos apache y comprobamos

php -i | grep PDO

actualizacion :

Al hacer ./configure me salió este error “libfbclient, libgds or libib_util not found”

Esto pasa porque no se tienen las librerías de producción de firebird instaladas.

En Ubuntu se pueden instalar así:

sudo apt-get install firebird2.5-d

(esto pasa cuando instalas Firebird desde  el repositorio, de instalar Firebird desde el archivo .tar.gz esto no sucede.)

gracias por el aporte a

Bushiko 

saludos

r1chd

Reiniciar contraseña de root mysql

La necesidad de usar mysql en estos días, provoco un gran dilema y un pequeño problema.

Personalmente no me gusta usar mysql, prefiero usar otras bases de datos, para no hacerla tan cansada, un sysadmin dejo su trabajo y no dejo los passwords, vaya problema, se fue resolviendo uno a uno, el que me pareció mas complejo de resolver fue la contraseña de root de mysql, tengo cero experiencia con eso y todo estaba en un servidor de producción con un montón de bases de datos, con al menos una conexión en cada una, así que no podíamos tener el lujo de detener el servidor, desinstalar un montón de cosas y reinstalar.

Buscando en la documentación de mysql encontré la forma de resetear el pass de root, de una manera muy simple, para probar monte una maquina virtual debian 7 y ahi realise el proceso hasta estar seguro de que no tendría daños colaterales.

a qui los pasos

 

  • entrar como root o usuario administrador al server
  • localizar el archivo .pid de mysql regularmente esta en estas ubicaciones /var/lib/mysql//var/run/mysqld/
  • root@maisicuel:/var/run/mysqld# cat mysqld.pid
  • 978 (el 978 es el proceso que ejecuta en tu server puede ser otro numero)
  • debemos crear un archivo de texto con el siguiente contenido UPDATE mysql.user SET Password=PASSWORD('MiNuevoPass') WHERE User='root';
    FLUSH PRIVILEGES;
  • detenemos mysql con root@maisicuel:/var/run/mysqld# kill 978
  • iniciamos mysql de la siguiente forma
    mysqld_safe –init-file=/var/run/mysqld/pass &
  • accedes con tu phpmyadmin
bueno aver mas despacio, 
entramos como root al server ya sea físicamente o por ssh,
buscamos el archivo mysqld.pid y vemos su contenido con cat mysqld.pid 
creamos un archivo de texto en la ubicación que quieras, yo lo conserve en el mismo lugar y le puse pass,  es muy importante que tenga este contenido=
UPDATE mysql.user SET Password=PASSWORD('MiNuevoPass') WHERE User='root';
FLUSH PRIVILEGES;
guardas y verificas tu archivo que este bien y pueda leerse, 
ahora viene lo bueno, vamos a detener mysql con kill (recomiendo que tengas tus respaldos al día)
inmediatamente arrancas tu mysql de la siguiente forma mysqld_safe –init-file=/var/run/mysqld/pass &
y eso es todo verificas que puedes accesar desde phpmyadmin,
seguí los pasos de este enlace, 
tratare de hacer un videito estos días por si tienen dudas,
tengo el problema de que explico las cosas como las entiendo y las personas no me entienden =( 
jejejeje 
el proceso desde las pruebas hasta la ejecucion me llevo unos 40 mins, el proceso en el server real unos 2 minutos. 

RamDisk

para crear rapidisimo, un disco ram en Linux debian 7

# mkdir /media/ramdisk

# chmod 777 /media/ramdisk

# mount -t tmpfs -o size=1G tmpfs /media/ramdisk/

no guarden nada aqui, solo es para temporales, se borrara al reinicio

saludos

r1chd

Firebird

Optimizando Firebird

Esto es algo que hay que considerar para una adecuada configuración de Firebird

El funcionamiento de un Servidor de base de datos es en realidad una mezcla de tres cosas: una computadora que hace de “servidor”, el programa FireBird instalado en el, y un fichero de datos normalmente con extensión .FDB o .GDB que está almacenado en un disco duro del servidor.
El Servidor
Para el servidor se tiene que seleccionar una con buenas características hardware  ya que del adecuado rendimiento este equipo  tendrá mucho que ver el comportamiento del servidor de Base de datos. La recomendación es utilizar un servidor dedicado. Las consideraciones de seguridad no deben tomarse a la ligera  tanto a nivel físico como a nivel de software  deben tenerse en consideración
Una computadora con hardware limitado provocaran un desempeño malo mas aun si es un servidor para procesos críticos

Configurar FireBird
Uno de los puntos mas importantes en la configuración del servidor es la asignación de la memoria que se da al servidor (parámetro DefaultDbCachePages) este parámetro en el servidor Superserver esta configurado a 2048 paginas, es necesario incrementar este parámetro para tener un mejor rendimiento. El efecto que tendrá será grande, sobre todo cuando existen muchos usuarios accediendo a la base de datos o para el procesamiento de Consultas SQL complejas.

Reparar bases de datos
Recomiendo que este punto lo tengan muy en cuenta al trabajar con bases de datos , ya que las bases de datos, al igual que los discos duros, se “fragmentan” con su uso diario, y tan solo con un bakup y un restore les ayudara a mejorar su desempeño y reducir el tamaño

Herramientas que incluye Firebird
Las herramientas que incluye firebird son  GBAK, GSEC, GDEF, GFIX, ISQL
Estas herramientas se ejecutan desde la línea de comandos,
Veremos de una forma rápida como funcionan 3 de ellas, con los  comandos básicos, para mayor  información lean los manuales no, no es burla de verdad es muy útil leer los manuales,
Bueno una forma rápida de usarlos
La herramienta gbak es para hacer copias de seguridad y restaurar la base de datos o cambiarla de plataforma
Respaldar una base de datos
./gbak  -b –v –user sysdba –password masterkey /home/db/Base.fdb /home/respaldos/resp.fbk
En donde gbak llamamos a la herramienta –b es bakup –v es ver lo que hace –user el usuario, el usuario con mas privilegios en firebird es sysdba  -password es el password de tu firebird masterkey por defecto es muy recomendable cambiarlo  /home/db/Base.fdb es el directorio de tu base de datos y  /home/respaldos/resp.fbk es el directorio destino donde guardaremos el resplado

Y como cambiamos el password de firebird ?
./gsec –user sysdba –password masterkey
Una vez dentro de la base de datos de firebird usaremos este comando para modificar su contraseña,
Modify sysdba –pw minuevopass
Aun que por seguridad recomiendo usar algo asi MiNewp455w0rd.0K
Bueno eso depende de  su paranoia
también recomiendo usar un usuario extra, para agregarlo usaremos el comando
add nuevouser –pw passdenewuser
para salir del gsec usamos quit

por ultimo usaremos ./gfix
./gfix –v –f –user sysdba –password masterkey /home/db/Base.fdb
Esto validara la base de datos _v y –f es full  validación completa
Después usemos
./gfix –mend –user sysdba –password masterkey /home/db/Base.fdb
Esto preparara la base de datos para el bakup  que haremos con la primer herramienta

Tamaño de cache
Simplificando es cuanta memoria RAM reservamos para cada base de datos que abre FireBird, y cuanta más, mejor, claro. Esta memoria se mide en “paginas”, y una pagina puede variar de tamaño, siendo el tamaño por defecto de 4KB. Para la mayoría de base de datos. Por defecto el modo “Superserver” de FireBird -la instalación por defecto- usa DefaultDbCachePages = 2048, es decir, unas 8 MB, así que realmente aquí tenemos mucho que ganar poniendo, por ejemplo, 10 veces más (80 MB) o incluso bastante mas. Conviene jugar con ciertos valores y ver como queda el S.O. (Windows o Linux) de memoria libre. Si decidimos usar un GB para FireBird, usaríamos unas cien veces más que lo que viene por defecto, unas 2 millones de páginas, así que DefaultDbCachePages = 204800 podría ser un valor bueno a probar.

Disco RAM
Si tiene RAM de sobra, digamos que mas de 2 GB en sistemas de 32 bits o más de 4 GB en sistemas de 64 bits, la RAM extra puede usarse para dar más velocidad a los temporales creando un “disco RAM”. Estos discos, son programas que se instalan y hacen creer al sistema que la memoria es un disco nuevo, pero muy rápido. Si instalamos uno de estos programas y usamos esa unidad como directorio temporal de FireBird, el cambio puede ser espectacular.

Bueno creo que eso es lo que pondré por hora sobre firebird, no olviden dejar un comentario y si tienen alguna duda en lo que pueda les ayudare.