jueves, 24 de octubre de 2019

Cambiar permisos de usuario en MySQL

En este sencillo post aprenderemos como crear un usuarios con todos los privilegios para MySQL. (obviamente tenemos que tener instalado MySQL, para ello hay un post dedicado a ello en este blog).


MySQL Logo con un fondo no muy transparente o.O
Primero que todo entramos a MySQL

sudo mysql
 
o
 

mysql -u root -p
 

segun como tengamos configurado nuestro usuario root. 




Luego desde el prompt de MySQL ejecutamos lo siguiente:

mysql> CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'password';

Y luego le damos todos los privilegios al usuario con el siguiente comando:

 mysql>GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'localhost' WITH GRANT OPTION;

 Y ya podemos salir de mysql porque el trabajo esta terminado :D

mysql> exit

Saludos amigos y ojala este post les haga la vida mas facil y les evite las miles de frustraciones que seguro (como yo) ya tuvieron :D

BONUS TRACK

¡¡PERO OJO!! capaz vos no querías darle TOOOODOS los privilegios al nuevo usuario y es entendible. ¿¿y ahí?? ¿Qué se hace?

¡Tranca che! Vos sabes que en mate&code no te vas sin EL DATO, por eso te dejo esta mini guía para comprender el comando GRANT de SQL:

En realidad la instrucción seria algo asi como esto:


GRANT [permiso] ON [Base de Datos].[Tabla/s] TO [usuario]@'localhost'


Vamos a descomponer el comando para entenderlo mejor:

  • GRANT: Otorga privilegios a un usuario especificado en las BD especificadas.
  • [permisos]: Aquí podemos elegir entre varias opciones según la cantidad de privelgios que queremos darle al usuario. Las mismas se listan a continuación:
    • ALL PRIVILEGES: Otorga todos los privilegios.
    • SELECT: Permite hacer consultas.
    • INSERT: Permite Insertar registros nuevos.
    • UPDATE: Permite actualizar registros.
    • DELETE: Permite eliminar registros.
    • CREATE: Permite crear tablas.
    • DROP: Permite eliminar tablas.
    • ALTER: Permite modificar la definición de las tablas.
    • INDEX: Permite crear índices en tablas existentes.
    • GRANT OPTION: Permite dar o quitar privilegios a los usuarios de la BD.
* NOTA: Estos se pueden combinar de cualquier forma para dar los privilegios específicos que queramos darle a un usuario determinado. Obviamente ALL PRIVILEGES si se lo usa debería ir solo ya que da todos los privilegios y no tendria sentido combiarnlo con otro.

  • [BD]: Indica sobre que BD queremos dar los privilegios antes mencionados. Si usamos * decimos que le damos permiso sobre TODAS las BD del sistema.
  • [Tablas/s]: Indica sobre que Tablas de la/s BD indicadas anteriormente queremos darle permisos al usuario. Si usamos * decimos que le damos permiso sobre TODAS las Tablas de las BD indicadas.
  • [usuario]: A que usuario le queremos dar los permisos detallados anteriormente. Si usamos el "*" diremos que TODOS los usuarios tienen permisos para realizar dicha acción.
Veamos un par de ejemplos para entender esto:

GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'jorgehoracio'@'localhost'

Dimos permisos de Consultar, Insertar, Actualizar y Eliminar registros a jorgehoracio sobre todas las BD y todas las tablas existentes.
GRANT SELECT ON propietarios TO '*'@'localhost'
Se dieron permisos a TODOS LOS USUARIOS para Consultar la tabla propietarios.
Para eliminar los permisos se utiliza la clausula REVOKE en lugar de GRANT y bajo la misma estructura.
REVOKE ALL PRIVILEGES ON *.* TO 'luisandreseim'@'localhost'
 En la anterior sentencia se le quitaron todos los privilegios al usuario luisandreseim de todas las tablas y todas las bases de datos.

Pero este tema de quitar permisos lo veremos con mas detalles en una próxima entrada.

¡AHORA SI FINAL FINAL DE TODO!

Espero que esta sencilla guía les ayude a volver a tomar el control sobre sus BD's 😉

¡¡Un abrazo virtual grande y a disfrutar de esos mates en estos días frescos!!


Instalar MySQL en Ubuntu 18.04 y Debian

Buenas buenas! hoy les traemos un pequeño tutorial el Sistema Gestor de Bases de Datos de codigo abierto, MySQL, necesario para el Stack LAMP (Linux, Apache, MySQL, PHP/PEARL/Python), para aprender SQL o para lo que sea que lo necesitemos.


1er Paso - Instalación


Primero actualizamos el índice del paquete en el servidor apt:

$ sudo apt update

Luego instalamos el paquete predeterminado:

$ sudo apt install mysql-server

Hasta aqui tendremos instalado MySQL pero de manera insegura ya que no nos pidio contraseñas ni nada. Y esto es lo que vamos a configurar ahora.

2do Paso - Configurar MySQL

Primero ejecutamos el Script de seguridad:

$ sudo mysql_secure_installation

Esto hará que pasemos por una serie de indicaciones en las que podemos hacer algunos cambios en las opciones de seguridad de la instalación de MySQL. La primera indicación preguntara si queremos configurar un plugin para probar la solidez de nuestra contraseña (en este caso podemos elegir lo que querramos, esta en nosotros si lo queremos o no).

Lo importante es que la segunda indicación nos pedirá establecer una contraseña para el usuario root. Ingresamos una contraseña y luego confirmamos.

Desde este punto podemos presionar "ENTER-ENTER" hasta finalizar. Lo que hace en esa parte el asistente es eliminar las Bases de Datos de pruebas y Usuarios anónimos ademas de deshabilitar el inicio de sesión root remotos y cargara las nuevas reglas inmediatamente.

3er Paso - Ajustar la autenticacón y los privilegios de usuario (Opcional pero ALTAMENTE RECOMENDADO)

 Para los sistemas Ubuntu que usen MySQL 5.7 (y posteriores), el usuario root de MySQL esta configurado de forma predeterminada para autenticarse para usar el plugin auth_socket en vez de una contraseña. En muchos casos esto permite que la usabilidad y la seguridad sea mayor pero puede complicar las cosas cuando un programa externo (como por ejemplo PHPMyAdmin) quiera tener acceso al usuario.
 Entonces deberemos cambiar el método de autenticación de auth_socket a mysql_native_password. Para ello abrimos MySQL como root usando la siguiente instrucción en la consola de Linux:

$ sudo mysql

Luego usamos el siguiente comando para consultar el método de autenticación de las cuentas de usuario:

mysql>  SELECT user,authentication_string,plugin,host FROM mysql.user;
 
donde vemos que el usuario root se autentica con el plugin auth_socket. Para configurar que se autentique usando contraseña usamos el siguiente comando, asegurandose de cambiar donde dice contraseña por la contraseña que deseemos para root (nota, dejar las comillas):

mysql>  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'contraseña';


y luego ejecutamos FLUSH PRIVILEGES para purgar los privilegios y se implementen los nuevos cambios.

mysql> FLUSH PRIVILEGES;

y nuevamente usamos el comando para ver los métodos de autenticación de los usuarios de MySQL

mysql>  SELECT user,authentication_string,plugin,host FROM mysql.us;

 y ya esta todo configurado asi que podremos salir usando el comando

mysql> exit

El resumen de pasos en consola se presentan en la siguiente imagen:


4to Paso - Probar instalación


Ahora simplemente nos queda probar que todo marche de forma correcta y para ello usamos el siguiente comando desde la consola de linux

$ systemctl status mysql.service

y vamos a ver algo como lo siguiente

img3

Nota: Si MySQL no esta corriendo, ejecutar el comando

$ sudo systemctl start mysql

Y con esto terminamos. :D

Esperamos que tengan esas bases de datos corriendo y funcionando luego de este sencillo tutorial. Un abrazo grande y gracias por pasarse! ;)














Please install the gcc make perl packages from your distribution D:

¿Tenes este molesto problema? ¿No te deja instalar tus Virtualbox Guest Additions? ¿o te esta jodiendo para instalar otra  cosa?
no sabia que imagen poner y mande fruta :p

¡¡¡Tranquilos no temais, NADA esta perdido!!! 

Pone esto en tu consola y "izi pizi lemon squeezy" ;)

sudo apt-get update
sudo apt-get install build-essential gcc make perl dkms
reboot
 Tutoriales a la velocidad de la luz a la orden en mateandcode.

¡Hasta la vista camaradas!

Pantalla Completa en Maquina Virtual (Oracle Virtual Box)

Seguro este problemita a mas de uno le pone "las huevas" al plato.

Resulta que instalamos una maquina virtual y se ve en un cuadradito chiquitito como vacaciones de programador como se ve en la imagen de abajo:

nota: ignorar las sutiles rayas y simbolos que le hice al dibujo para graficar c:

POR SUERTE HOY MATEANDCODE te trae la solución y como siempre de la manera mas fácil posible que existe en el mundo para que tengas resueltos tus problemas a la velocidad de la luz! ;)

La utilidad "Guest Additions" de Virtual Box son básicamente controladores de dispositivo y aplicaciones que se han desarrollado para optimizar el sistema operativo huesped tanto a nivel de rendimiento como de uso.

Algunas caracteristicas son:
  • Mejor soporte de vídeo.
  • Integración de teclado y mouse.
  • Creación de carpetas compartidas.
  • Uso de los canales de comunicación del equipo físico.
  • Sincronización en tiempo real.
  • Uso de portapapeles compartido.
  • Inicios de sesión automáticos.
Simplemente vamos a la barra de menues del virtual box, buscamos el menú desplegable Dispositivos y hacemos click en insertar imagen de CD de las <<Guest Additions>> tal como se ve en la imagen de abajo.


Una vez ahi si se auto ejecuta, le metemos nuestra clave y ya se va a empezar a instalar todos los controladores necesarios para que funke correctamente nuestra pantallita.

En caso de que no se ejecute automáticamente. Abrimos el CD que se monto en la maquina virtual y desde la terminal ejecutamos el archivo autorun.sh con el siguiente comando:
 sh autorun.sh


Y se van a ejecutar las ventanas que vemos arriba.

Cuando se termine de instalar todo, reiniciamos la maquina virtual y magicamente y por arte de magia ya vamos a tener nuestra pantalla "full screen" B-).


Mugrosos problemas :@


Es común que nos aparezca un error como este: Please install the gcc make perl packages from your distribution.

si eso ocurre, simplemente en la linea de comando tiramos los siguientes comandos:
sudo apt-get update
sudo apt-get install build-essential gcc make perl dkms
reboot
 Y retomamos este pequeño tutorial desde el principio.

Y listo el pollo, ya vamos a tener nuestra maquina virtual corriendo en full screen. Espero que como siempre les haya servido el tutorial, gracias por pasarse y un abrazo de gol!! SALUDOOOSS!!






martes, 15 de octubre de 2019

Instalar fuentes (tipografia) en UBUNTU

Hoy les traemos este pequeño pero interesante articulo de como instalar fuentes en Ubuntu y sus derivados (no lo probe en otras distros, pero quizas funcione).




Seguramente para aquellos que trabajen editando imagenes, textos, y demas, muchas veces sienten que las tipografias que traen por defecto los sistemas operativos les quedan cortas. Asi es que hoy te vamos a mostrar como instalar fuentes en tu UBUNTU y ademas vamos a adjuntar un par de opciones de donde se pueden descargar las mismas:

Primero que todo abrimos la terminal y  nos dirigimos a la carpeta en donde descargamos las fuentes (recuerden descomprimir) y luego ponemos el siguiente comando en esa ubicación:

sudo gnome-font-viewer <nombre_archivo_fuente>


 
y nos abrira una ventana donde haremos click sobre el boton "instalar"



¡Y LISTO! Fuente instalada y Funcionando :D solo resta ir a al programa en el que estabamos trabajando y verificar que todo funcione ;).

 ¿y si no tengo instalado gnome-font-viewer?

Por lo general viene instalado en las distribuciones de Ubuntu y derivados, pero en caso de que no este, simplemente tiramos el siguiente comando en la consola y solito y solo se empezará a instalar! :D

sudo apt install gnome-font-viewer
 

Y listo, no hay mas historia. No hay excusas para no darle un mejor toque a tus diseños con nuevas fuentes. Con esto en menos de 1 minuto tenes varias fuentes nuevas instalados para que te deleites.

¡¡UN SALUDO!!


ANEXO

Como prometí, anexo un par de páginas para descargar fuentes. Obvio que existen mas, pero estas son las que mas uso:

  • https://www.1001freefonts.com/es/
  • https://www.dafont.com/es/
  • https://www.urbanfonts.com/es
  • http://www.letramania.com/


lunes, 14 de octubre de 2019

Instalar Aplicaciones .appimage en Linux

Buenas buenas!! ¿cómo les va a todos? ¡espero que bien!


Hoy les traemos otra pequeña guía para sacarnos dudas y aprender a instalar cosas. Hoy es el turno de las .appimage ¿Qué son? ¿Cómo se instalan? ¿Cómo se borran? HOY LO VAMOS A DESCUBRIR ;)

¿Qué son los archivos .appimage?

Como bien sabemos, existen muchos tipos de archivos en Linux (si hablo de Linux, no de alguna distro en particular). Por listar solo algunas tenemos .deb, snap, FlatPak, etc.

Cada una con sus ventejas y desventajas y con capacidades de ser ejecutadas en algunas distros y en otras no.

Hasta el momento, esto era un inconveniente para los desarrolladores, que tenian que hacer prácticamente un empaquetado distinto para cada distro, y JUSTAMENTE ESTO, vino a solucionar el formato .appimage. :D

Algunas ventajas de .appimage son:

  • Son portables (la instalación prácticamente es para crear accesos directos )
  • No se requiere permiso de root para instalar.
  • Se eliminan facilmente.
  • ¡¡Corren practicamente en cualquier distro!!
  • Las aplicaciones corren en modo solo lectura. 
 En fin, mucha publicidad... VAMOS AL GRANO!!

¿Cómo instalar una aplicación .appimage?

Es lo mas sencillo, simplemente abrimos la terminal en la carpeta donde tengamos el archivo descargado y ponemos lo siguiente en la linea de comandos para otorgarle los permisos necesarios:

chmod u+x <appimage file>
 
Y luego para ejecutarla simplemente o ponemos:

./aplicacion.appimage
 
Y el proceso de "instalación" comenzará automáticamente.

P/D: Es fuertemente recomendado que creemos una carpeta donde pongamos todos nuestras aplicaicones .appimage (yo perosnalmente cree una carpeta en el home llamada "programas") y ahi deposito todas las apps. Esto solo es útil para darle cierto orden a nuestras cosas. Ademas, si luego queremos mover la aplicación porque generalmente se descarga en el escritorio o en la carpeta Descargas vamos a tener conflicos con los accesos directos.

¿Cómo desinstalar una aplicación .appimage?


Como ya dijimos, las aplicaciones con este formato son portables, asi que solo tendriamos que borrar el archivo y sus accesos directos y listo! :D

Y aqui terminamos esta pequeña guía, como siempre espero que les sea de utilidad como a mi y que lo compartan, seguro a algun que otro amigo le sirve. Saludos! ;)