domingo, 27 de septiembre de 2015

2 - CONFIGURACIÓN DE MYSQL SERVER

1.1.       Configuración de Usuarios

Unas de las primeras acciones que hay que realizar es configurar el usuario root de MySQL y todos los usuarios que se conectarán al servidor, para ello vamos a conectarnos a mysql por consola
-          Escribiendo: mysql –u root –ptucontraseña, una vez adentro del mysql:
-          Se recomienda que el usuario root de MySQL solo se conecte de manera local en el servidor, ya por defecto viene así, para configurar cualquier otro usuario con acceso remoto:
Crear Usuario con nivel de acceso local:
CREATE USER ‘miusu’@’localhost’ IDENTIFIED BY ‘mipass’;
Dar permisos sobre todas las tablas de mi  base de datos (puedes hacerlo con la misma contraseña para conexión remota):
GRANT ALL PRIVILEGES ON *.* TO ‘miusu’@’localhost’ IDENTIFIED BY ‘miotrapass’;
GRANT ALL PRIVILEGES ON mibd.* TO ‘miusu’@’localhost’ IDENTIFIED BY ‘miotrapass’;
Dar permisos a un usuario a conectarse desde ciertas IP a una tabla predeterminada:
GRANT ALL PRIVILEGES ON mibd.mitabla TO ‘miusu’@’180.180.*’ IDENTIFIED BY ‘mipass’;
-          Refrescar los privilegios fuera de mysql con mysqladmin –u root –p flush-privileges

1.2.       Cambios de contraseña

Dentro del mysql lanzar comando:
Cambiar contraseña solo para conexión localhost
SET PASSWORD FOR ‘miusu’@’localhost’ = PASSWORD(‘nuevacontraseña’);
Cambiar contraseña solo para conexión remota
SET PASSWORD FOR ‘miusu’@’%’ = PASSWORD(‘nuevacontraseña’);

1.3.       Configuración de almacenamiento (cambio de datadir)

Esta configuración es necesaria cuando el directorio /var/lib/mysql que es donde se guarda las bases de datos (y por ende la data final) del sistema no tiene suficiente espacio y se cuenta con otra partición con suficiente espacio para almacenar toda la data que se va a manejar. La configuración consiste en mudar el directorio de la data a la partición donde se tiene suficiente espacio de almacenamiento.
-          Estando en consola conectarse como usuario administrador: su
-          Detener el mysql: sudo service mysql stop
-          copiamos la libreria de mysql en el destino que queremos
sudo cp -R /var/lib/mysql /ruta_nueva/mysql
-          Borramos los archivos ib_logfile
sudo rm /ruta_nueva/ib_logfile*
-          Cambiamos el propietario de los archivos de la ruta nueva
sudo chown -R mysql:mysql /ruta_nueva/mysql
-          editamos el archivo my.cnf ubicado en /etc/ y cambiamos datadir=/var/lib/mysql por la línea datadir=/ruta_nueva/mysql
vi my.cnf (Shift+a= insertar, Shift+q=salir)
-          Detenemos el appamor
sudo service appamor stop
-          Editamos el archivo /etc/apparmor.d/usr.sbin.mysqld, si no existe se crea
vi/etc/apparmor.d/usr.sbin.mysqld
-          Agregamos las líneas dentro del archivo:
/ruta_nueva/mysql/ r,
/ruta_nueva/mysql/** rwk,
-          Iniciamos el apparmor
sudo service apparmor start
-          Si desean (opcional), pueden borrar el contenido del viejo directorio
sudo rm -R /var/lib/mysql
-          Arrancamos el Mysql
sudo service mysql start

1.4.       Sensibilidad de mayúsculas y minúsculas

Un inconveniente muy común es la sensibilidad de mayúsculas y minúsculas, y esto es porque hay muchos programas realizados en Windows donde el MySQL para Windows viene configurado para no prestarle atención a las mayúsculas  minúsculas en los nombres de las tablas y demás objetos y cuando intentas conectar a MySQL para Linux te arroja errores por no encontrar las tablas creadas por problemas de nombre, es muy sencillo cambiar la configuración, simplemente debes:
-          Para dejarlo al estilo MySQL para Windows, abrir el archivo my.cnf ubicado en /etc/ y agregarle la siguiente línea:
Lower_case_table_names=1
-          Reiniciar el mysql: sudo service mysql restart
Donde los parámetros pueden ser:
-          0: Las tablas se almacenan con la sensibilidad especificada en la sentencia de creación. La comparación de sus nombres es sensible a mayúsculas/minúsculas. Por defecto en sistemas operativos Unix
-          1: Las tablas se almacenan convirtiendo sus nombres a minúsculas. La comparación de sus nombres no es sensible a mayúsculas/minúsculas. Por defecto para sistemas operativos Windows y Mac

-          2: Los tablas se almacenan con la sensibilidad especificada en la sentencia de creación. La comparación de sus nombres no es sensible a mayúsculas/minúsculas.

No hay comentarios:

Publicar un comentario