MySQL en Ubuntu

18/09/2007

MySQL Logo
MySQL es un gestor de bases de datos bastante popular y rápido. Normalmente lo puedes encontrar instalado en los sitios de hosting.

Instalación

Para instalar MySQL, debes instalar los siguientes paquetes: mysql-server y mysql-client.

Configuración

La contraseña del administrador de la base de datos no se crea con la instalación. Debemos crearla nada más instalar el servidor. Para hacerlo teclea en un Terminal.

$ sudo /usr/bin/mysqladmin -u root password clavenueva

Puedes cambiar el archivo /etc/mysql/my.cnf para configurar las opciones básicas — archivo de registro, número de puerto, etc. Mira al archivo /etc/mysql/my.cnf para más detalles.

Conexión desde un host remoto

Por defecto, MySQL no permite que cualquier usuario puede acceder a las bases de datos usando un conexión TCP. Para que lo permita debes crear un usuario con los permisos correspondientes.

También tendrás que editar el fichero /etc/mysql/my.cnf y modificar la línea:

bind-address = 127.0.0.1

Cambiándola por la direccion IP del servidor, o en caso de que se quiera escuchar en todas las IPs:

bind-address = 0.0.0.0

Después reinicia el servicio.

/etc/init.d/mysql restart

Para más seguridad puedes poner solamente una lista de las IPs de los ordenadores que quieres que tengan acceso.

Si aún no te puedes conectar desde un ordenador remoto tendrás que editar el fichero /etc/hosts.allow y añadir la línea:

mysqld: all

Crear un usuario

Para la creación de usuarios tendremos que conectarnos al servidor MySQL con un usuario que tenga el permiso global CREATE USER o el permiso INSERT para la base de datos mysql. La sintaxis es la siguiente:

CREATE USER usuario IDENTIFIED BY 'password';

Más información en Sintaxis de CREATE USER.

Eliminar un usuario

El usuario que usemos en la conexión debe tener el permiso global CREATE USER o el permiso DELETE para la base de datos mysql. La sintaxis es la siguiente:

DROP USER usuario;

Más información en Sintaxis de DROP USER.

Dar permisos a un usuario

Los permisos pueden darse en varios niveles:

  • Nivel global
  • Nivel de base de datos
  • Nivel de tabla

La sintaxis es:

GRANT tipo_privilegio ON {nombre_tabla | * | *.* | nombre_bd.*} TO usuario;

Así para dar el permito SELECT al usuario pepe sería:

GRANT SELECT ON *.* TO pepe;

Más información en Sintaxis de GRANT y REVOKE.

Quitar permisos a un usuario

La sintaxis es:

REVOKE tipo_privilegio ON {nombre_tabla | * | *.* | nombre_bd.*} FROM usuario;

Más información en Sintaxis de GRANT y REVOKE.

Crear una Base de datos

Para crear una base de datos nueva puedes hacerlo de, al menos, dos formas. Abre un Terminal y ejecuta lo siguiente.

$ mysql -h servidor -u usuario -p

Enter password:
mysql> CREATE DATABASE nombre_de_la_base_de_datos;
quit

Más información en Sintaxis de CREATE DATABASE. También puedes usar la orden mysqladmin.

$ mysqladmin -h servidor -u usuario -p create nombre_de_la_base_de_datos

Eliminar una Base de datos

Para eliminar una base de datos que ya no es necesaria en el sistema también tenemos, al menos, dos métodos. En un ventana de Terminal ejecuta.

$ mysql -h servidor -u usuario -p

Enter password:
mysql> DROP DATABASE nombre_de_la_base_de_datos;
quit

Más información en Sintaxis de DROP DATABASE. También puedes obtener el mismo resultado con el comando mysqladmin.

$ mysqladmin -h servidor -u usuario -p drop nombre_de_la_base_de_datos

Hacer Backup de una Base de datos

Para hacer una copia de seguridad de una base de datos tiene el siguiente comando:

$ mysqldump -h servidor -u usuario -p nombre_de_la_base_de_datos > backup.sql

Para hacer una copia de seguridad de las bases de datos MySQL de un servidor puedes usar el siguiente script:

#!/bin/bash

## BEGIN CONFIG ##
HOST=localhost
USER=usuario
PASS=secreto
BACKUP_DIR=Backup
## END CONFIG ##

if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi

# Backup de MySQL
MYSQL_DBS=$(mysqlshow -h $HOST -u $USER -p$PASS | awk ‘ (NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /mysql/) { print $2 }’);

for DB in $MYSQL_DBS ; do
echo “* Backuping MySQL data from $DB@$HOST…”
mysqldump -h $HOST -u $USER -p$PASS $DB > $BACKUP_DIR/mysql_$DB.sql
done

Restaurar el Backup de una Base de datos

Para restaurar una base de datos creada anteriormente ejecuta en un Terminal.

$ mysql -h servidor -u usuario -p nombre_de_la_base_de_datos < backup.sql

NOTA: La base de datos “nombre_de_la_base_de_datos” debe existir en el sistema antes de restaurar el fichero backup.sql. Si no sabes como crear una base de datos lee Crear una Base de datos más arriba.

Vía

3 Responses to “MySQL en Ubuntu”

  1. bgr Says:

    como modificar la base de datos creada en my sql dentro de ubuntu desde windows xp

  2. linux-user@linux.lnx Says:

    Gracias por el aporte, aunque escaso en contenido es util para empezar.

  3. dhamaso Says:

    y ingaos te conectas pregunto yo,😄 soy un novato, si me pudieras decir estaria feliz de la vida,
    ¿como te conectas desde ubuntu a un servidor de mysql que esta en un server dedicado?? ya tengo la contraseña y usuario pero no se como me puedo conectar ni con que programa.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: