Mostrando entradas con la etiqueta DBA. Mostrar todas las entradas
Mostrando entradas con la etiqueta DBA. Mostrar todas las entradas

martes, 4 de septiembre de 2012

MS Sql en RHEL

Por motivos de trabajo, he tenido al fin la necesidad de conectar desde Linux con una base de datos de MS-Sql y como siempre paso por aca para dejar la receta de como hacerlo. El proceso es bien sencillo y simplemente es necesario bajarnos un par de paquetes, realizar la configuración y listo, ya tendremos nuestra conexión operativa.

El escenario al que aplica este articulo es uno en el que tienes una aplicación que requiere conectarse a un segundo equipo donde se ejecuta el MS-Sql. Para el caso especifico, tenemos un equipo con una aplicación desarrollada en php, el cual ya tiene instalado el servidor apache y el php.

En cualquier caso, y esto sobre todo para aquellos que quieran documentarse un poco mas, es esta solución vamos a emplear la biblioteca Freetds (I,II) y el paquete php-mssql el cual nos permite hacer uso de las funciones Ms-Sql dentro de nuestro código php.

El proceso

Lo que debemos hacer primeramente es instalar los siguientes paquetes:

  • Freetds,
  • Php-mssql (o el equivalente para el lenguaje en el que tenemos el desarrollo).
Normalmente, el proceso se limitaria a ejecutar:

# yum install  freetds.arch php-mssql.arch

* donde arch hace referencia a la arquitectura de nuestra plataforma.

Luego de realizada la instalación de los paquetes es momento de realizar la configuración del TDS, para ello simplemente debemos modicar el archivo de configuración del tds e indicarle los parámetros de nuestro servidor.

  • Accedemos al archivo /etc/freetds.conf
# vi /etc/freetds.conf
  • Ubicamos la linea (A typical Microsoft server) y procedemos a modificarla.
  • Agregamos los parametros de configuración en base a nuestro escenario asi:
# A typical Microsoft server
[NombreServidor]
        host = Dirección IP
        port = puerto
        tds version = VersiónDelTDS
 
 
Es muy importante, que los parámetros estén bien configurados dentro del archivo para que de esta forma nuestra aplicación se pueda conectar de manera correcta, en tal sentido, debemos incluso asegurarnos de tener correctamente seleccionado la versión del TDS (varia en base a la versión de MS-Sql que use nuestro server).

Dentro del /etc/freetds, también podemos habilitar el registro de log, el cual es muy útil a la hora de monitorear y de hacer diagnostico de errores, para ello simplemente debemos descomentar la opción de dump en el log.

Finalmente, podemos probrar que todo este bien ejecutando:

# tsql -S NombreServidor -p Puerto -U UsuarioBaseDatos

Esto nos debería permitir conectarnos al servidor especificado.
 





martes, 22 de mayo de 2012

Cambiar contraseña Root en Mysql

Para muchos puede resultar una trivialidad, pero para otros viene muy bien conocer como realizar este proceso, que aunque  para algunos es el pan nuestro de cada día en la Administración de Bases de datos para otros es un vació.

Olvido:


En el proceso que describo a continuación, parto del supuesto de que se tiene Mysql con contraseña y esta se ha olvidado (:S), para recuperarla (cambiarla) procedemos así:


  • Primero debemos detener el servicio del servidor MySQL

# service mysqld stop ó /etc/init.d/mysql stop


  • Ahora debemos iniciar nuevamente el servicio pero impidiendo que se carguen los permisos en las tablas para poder modificarlas libremente, ósea en pocas palabras tenemos acceso ilimitado a todas las tablas de MySQL.

# mysqld_safe --skip-grant-tables


  • Alternativamente si queremos evitar accesos desde la red (por seguridad) también denegamos las conexiones entrantes TCP/IP, para mantener el “full acceso” solamente como entorno local.

# mysqld_safe --skip-grant-tables  --skip-networking&

  • El siguiente paso es ingresar a la consola de MySQL

$ mysql –u root

  • El servicio MySQL no nos preguntara por la contraseña ya que hemos usado el parámetro  –skip-grant-tables al iniciar el servicio nuevamente.
  • Luego seleccionamos la base de datos del sistema

mysql> use mysql;

  • Por ultimo actualizamos la nueva contraseña que deseamos colocarle al usuario root

mysql> UPDATE users set password=PASSWORD(‘nueva_contraseña’) WHERE user = ‘root’;

  • Debemos ver una salida generada por MySQL similar a la siguiente

Query OK, 1 rows affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

  • Salimos de la consola de MySQL

mysql> exit

  • Reiniciamos el servicio MySQL

# service mysqld restart ó /etc/init.d/mysql restart

Y listo, ya podemos ingresar a la consola de MySQL con los nuevos datos actualizados.

Modificar:


Alternativamente, si el anterior no fuera este el caso; es decir, si conocemos la contraseña y lo que queremos es cambiarla, simplemente debemos:

  • Ingresar a la consala MySQL con el usuario y contraseña,
  • Seleccionar la BD del sistema (mysql),
  • Ejecutar el query de Update,
  • Salir de la consola MySQL y reiniciar el servicio.
*(todos estos pasos se describen en el proceso anterior).