Archivo de la etiqueta: MySQL

Crear base de datos y usuario en MySQL

En nombre del post era más largo, era así:

Crear base de datos y usuario con todos los permisos sobre esa y sólo sobre esa base de datos en MySQL.

Siempre paso haciendo ésto, pero por más que lo haga una y otra vez siempre se me olvida el SQL de los permisos, por eso lo pongo acá para estar acordándome.

Primero, iniciamos una sesión de shell:

mysql -u root -p

(En humano dice: Inicie MySQL como el usuario root y pregúnteme el password).

Luego creamos la base de datos (en éste caso llamada exampledb):

mysql> CREATE DATABASE exampledb;

Ahora creamos un usuario y le damos todos los permisos sobre esa base de datos (todo en un mismo paso; la creación del usuario no es explícita pero se lleva a cabo):

mysql> GRANT ALL PRIVILEGES ON exampledb.* TO 'usuario'@'localhost' IDENTIFIED BY 'clave';

Claro, cambiamos ‘exampledb’, ‘usuario’ y ‘clave’ por los valores reales. Podemos dejar las comillas simples, es recomendado.

Saludos!

Etiquetado

Administrar MySQL de forma remota por SSH

A veces queremos administrar nuestro MySQL de forma remota. Aunque el MySQL Query Browser y el MySQL Navigator ya tienen aviso de End Of Line a favor de MySQL Workbench, todavía sigo usándolos. Lo que hacemos es entrar a nuestro servidor por SSH con el siguiente comando:

ssh -L 6666:127.0.0.1:3306 usuario@servidor.com

Y ahora, al entrar a alguna de las herramientas visuales ponemos:

Server hostname: 127.0.0.1
Port: 6666
Username: su usuario
Password: su password

Y listo!

Etiquetado , ,

Servidor WAMP Portable

Un poco de historia

Esto es raro, yo escribiendo cosas relacionadas con Windows. Cómo llegué a esto:

Este semestre estoy llevando el curso de Bases de datos y estoy trabajando en un proyecto de investigación donde estamos extendiendo y adaptando Elgg, eso es, trabajando en un LAMP (Linux, Apache, MySQL y PHP). Antes de mudarme al nuevo apartamento tenía una conexión a internet con IP pública y yo era el administrador del router. Por lo que usaba mi computadora como servidor LAMP y accedía a ella desde cualquier lado. Es decir, podía desarrollar desde cualquier lado.

Cuales son las limitantes? Bueno, son varias. Primero, en el nuevo apartamento por fin tengo internet, pero no soy administrador del router, por lo que mi computadora no está en la zona desmilitarizada (DMZ) o los puertos necesarios no están redireccionados a mi computadora por lo que por ahora no puedo usar mi desktop como servidor. Segundo, paso gran parte de mi tiempo en el Tecnológico, por lo que necesito poder programar en cualquier computadora. Tercero, todo lo que programe para bases de datos debe correr en los laboratorios.

La primera solución es utilizar las facilidades de los laboratorios, pero aunque los laboratorios cuentan con facilidades de bases de datos y PHP en la cuenta de GNU/Linux, hay que pedir una base de datos en la oficina de TI, rellenar un formulario, etc. Esta opción me daba pereza, por varias razones:

  • La información se podría quedar en mi cuenta de IC, y el desarrollo en mi casa tendría que hacerlo por SSH y me gustan las cosas con una linda interfaz gráfica. Pero bueno, se puede, el problema es cuando me iba a reuniones con el equipo de trabajo, necesitaba llevar los archivos en mi llave, porque a veces vamos a lugares sin internet, pero sin Apache, PHP o MySQL no sirven de nada. Pude instalar un WAMP en la laptop de trabajo que siempre llevan, pero eso me lleva al segundo problema. Además sería incómodo tener que importar/exportar la base de datos cada vez que me cambio de máquina.
  • De no quedarse los archivos en mi cuenta de IC y de llevarlos a cada rato, necesitaría varias instalaciones de software con las mismas características. Y si ya es complicado y lleva tiempo tener un buen webserver ahora tener varios sería retrabajo innecesario.
  • El tercer problema usando las cuentas de IC es que sería usuario del sistema, no tendría permisos de administración, no podría instalar módulos de PHP, actualizarlo, configurarlo como lo necesito, no podría crear bases de datos a mi antojo (que lo hago muy comunmente, porque arruino alguna xD, quiero mantener el backup de otra, desarrollar en una y en otra, probar cosas nuevas sin tener que cambiar la que ya sirve, etc).

Bueno, suficiente historia poco interesante. La solución (por lo menos por ahora) salió a la luz cuando de casualidad estaba buscando actualizaciones de la plataforma PortableApps para el pre-FliSol próximo que está organizado la Red Costarricense de Software Libre. Me di cuenta que existe un paquete de software llamado XAMPP, X se refiere a cualquier OS (es porque hay para Linux, MacOS X, Solaris y Windows), Apache, MySQL, PHP, Perl. De esta forma puedo tener un servidor web y un entorno de programación en mi llave USB ideal para las actuales necesidades. Ojalá hubiera PortableApps para mi Ubuntu, pero bueno, por lo menos PortableApps, Apache, MySQL, PHP, Perl, phpMyAdmin, etc, etc, son software libre, excepto el OS 😛

¿Cómo instalar el software portable?

1. Descargar e instalar en la llave USB la suite de PortableApps

http://portableapps.com/download

Se pueden descargar cualquiera de las tres ediciones, lo que importa es la suite. En mi caso realizé la instalación en F:\Portable Apps pues mi llave es la unidad F.

2. Descargar e instalar el paquete XAMPP.

http://portableapps.com/apps/development/xampp

Se pueden descargar cualquier edición (full o lite) pero en su versión ZIP. Yo me descargué la “XAMPP Lite” pues incluye todo lo necesario:

  • Apache 2.2.11
  • PHP 5.2.8
  • MySQL 5.1.30
  • phpMyAdmin 3.1.1
  • OpenSSL 0.9.8i
  • SQLite 2.8.15.

Una vez descargado procedemos a descomprimirlo en la llave, obligatorio que sea en el directorio raíz o el plugin luego no lo encontrará. Una vez descomprimido encontraremos una carpeta llamada xampplite (o xampp si no elegimos la versión Lite), dentro de la cual estarán todos los archivos del servidor. Recuerden, esta carpeta debe quedar dentro de la raíz de la llave USB, por ejemplo en mi caso es F:\xampplite

3. Descargar “XAMPP Launcher” también disponible desde el sitio anterior. Este es el plugin de PortableApps que nos permite controlarlo desde la aplicación.

http://portableapps.com/apps/development/xampp

Una vez descargado doble click y procedemos a instalarlo en la carpeta PortableApps dentro de la carpeta de instalación de la suite de PortableApps (ojo, lean bien, es confuso). En mi caso la carpeta es:

F:\Portable Apps\PortableApps

4. Ejecutar StartPortableApps.exe y nos saldrá el menú de PortableApps. Deberá reconocer la nueva aplicación, si no, le damos a la opción de refrescar íconos que se encuentra en opciones.

portable-xampp

Seleccionamos el ícono XAMPP Control Panel y ejecutamos Apache y MySQL. Con eso ya tendremos el webserver funcionando.

xampp-control-panel

5. Desde cualquier navegador (en mi caso, Firefox Portable, de la misma suite) podremos entrar al panel de administración. Escribimos en la barra 127.0.0.1 (o http://localhost, pero por ahí leí que mejor no, porque hay alguien que se confunde) y seleccionamos el idioma. Ahora podrás acceder a todas las herramientas de administración.

xampp-welcome

xampp-administration

6. Para instalar una aplicación web dinámica (Elgg, Drupal, Joomla, etc) dentro de nuestro servidor web portable procederemos, por ejemplo, desde phpMyAdmin podemos crear y configurar la base de datos MySQL y los archivos deberán ser copiados a xampplite\htdocs.

Espero que les sirva.

Saludos!

Etiquetado , , , , , , ,