Como configurar mysql en Linux Ubuntu



Instalación de mysql
Mysql es un servidor que crea, administra y organiza bases de datos, comenzaremos con la instalación esto es muy fácil, lo primero que se debe hacer es actualizar la información de paquetes de tu distribución Linux Ubuntu. Para esto haz lo siguiente:

Ir a la pestaña Sistema / Administración / Orígenes de Software
Seleccionamos las siguientes opciones:
- Descargables de Internet
- Controladores privativos para dispositivos
- Software restringido por copyright o cuestiones legales
- Software libre mantenido por canonical
- Software libre mantenido por la comunidad
Luego de esto, presionamos la pestaña “Actualización” y seleccionamos.
ü Actualizaciones importantes de seguridad
ü Actualizaciones recomendadas
Una vez hecho esto presiona el botón cerrar, te saldrá un cuadro de diálogo que te pedirá que recargues la información de los paquetes y presionas recargar.

Luego de esto abres una consola (para esto presiona las teclas Alt + F2) y escribe en la ventana gnome-terminal, luego accedes como superusuario (root) con sudo -s y una vez estando allí ejecutamos el comando apt-get update.

Luego de haber actualizado nuestras listas de paquetes ejecutaremos la descarga de mysql, para esto descargaremos tres paquetes mysql-server y mysql-client. Existe un entorno gráfico programa llamado mysql administrator, dependiente de los anteriores paquetes. Y opcionalmente el paquete 'mysql-query-browser, que servirá para realizar consultas.
apt-get install mysql-server
Nota: Cuando termina la descarga e inicia la instalación del servicio mysql nos pedirá datos de vital importancia como el usuario root y contraseña a esto hay que prestar atención.
apt-get install mysql-client
apt-get install mysql-querry-browser
Cuando descargados estos paquetes podremos empezar a configurar los usuarios y las bases de datos, En versiones antiguas no se crea con la instalación. Debemos crearla manualmente, 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.
Una vez asignada una contraseña al administrador, puedes conectar con el servidor mySQL de la manera siguiente:
$ mysql -h localhost -u root –p
Donde "localhost" és la dirección de tu host “127.0.0.1” y "root" el nombre de usuario.
A continuación introduce el password de la base de datos (es el password que introducimos al momento de la instalación de mysql). Luego te aparece la siguiente pantalla:
Welcome to the MySQL monitor.  Commands end with ; or \g.
 Your MySQL connection id is 20 to server version: 5.0.24a-Debian_9ubuntu2-log
  
 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Para desconectar,
mysql> QUIT
Bye
Conexión desde un host remoto
Por defecto, MySQL no permite que cualquier usuario puede acceder a las bases de datos usando una 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 o la IP que tengas en tu seridor si tienes IP fija
Despues reinicia el servicio.
shell>cd etc/init.d
shell>./mysql restart
Para que todos los demás ordenadores tengan acceso al servidor. 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

Gestión de usuarios

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 ó el permiso INSERT para la base de datos mysql. La sintaxis es la siguiente:
CREATE USER usuario IDENTIFIED BY 'password';

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;

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 ibel sería:
GRANT SELECT ON *.* TO ibel;
 
Luego guardamos los cambios con: mysql> FLUSH PRIVILEGES;  

Quitar permisos a un usuario

La sintaxis es:
REVOKE tipo_privilegio ON {nombre_tabla | * | *.* | nombre_bd.*} FROM usuario;
 

Gestión de las bases de datos

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
También se puede usar la orden mysqladmin.
$ mysqladmin -h servidor -u usuario -p create nombre_de_la_base_de_dato;
 
Volvemos a guardamos los cambios con: mysql> FLUSH PRIVILEGES;  

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 una ventana de Terminal ejecuta.
 $ mysql -h servidor -u usuario -p
 Enter password:
 mysql> DROP DATABASE nombre_de_la_base_de_datos;
 quit
 

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
Echo “Bienvenido al script de respaldo de bases de Datos” 
## Definición de Variables ##
HOST=localhost
USER=usuario # Usuario que contiene la base de datos #
PASS=secreto # Contraseña del usuario #
BACKUP_DIR=Backup
## Fin de configuración de Variables ##
  echo “Iniciando proceso de respaldo”
## Creando Respaldo de Bases de Datos ## 
if [ ! -d $BACKUP_DIR ]; then
  mkdir -p $BACKUP_DIR
fi
 
# Respaldo 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 "*** Realizando respaldo de las Bases de Datos ***"
  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 <>
 

Recuperar la contraseña de ROOT del Serivor MySQL

Para recuperar, o mejor dicho resetear, la contraseña de ROOT del servidor MySQL se puede hacer lo siguiente:
$ /etc/init.d/mysql stop
$ mysqld_safe --skip-grant-tables &
$ mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('nueva_contraseña') WHERE User='root'; 
mysql> FLUSH PRIVILEGES; 
mysql> \q
$ killall mysqld; 
$ /etc/init.d/mysql start
 

 
 
 
 
 
 

Comentarios

Entradas populares