Mysql Instalación
Sumario
Requerimientos de software previos
- Para gestionar Mysql disponemos de dos herramientas fundamentalmente.
- El front-end MysqlWorkBench
- El gestor web PhpMyAdmin
- Para poder instalar el segundo, es necesario tener instalado un servidor web, ya que PhpMyAdmin no es más que un sitio web de página PHP para gestionar un servidor Mysql.
- Como en este curso vamos a trabajar con las dos herramientas, necesitamos tener instalado localmente un servidor web.
- Para ello podemos hacer uso de un paquete denominado XAMPP o instalar cada componente por separado. En nuestro caso vamos a hacer la instalación individual.
- Nota: Aunque en ocasiones se indicará como se realiza alguna operación en Windows, casi todo el manual está orientado al uso con S.O. Linux.
Instalación
- Tanto en windows como en Linux disponemos de un paquete de software en el que está integrado Apache, Mysql, soporte para PHP,posibilidad de ejecutar Servlets/jsp en Apche...Se denomina XAMPP.
- Podéis ver como se instala en el siguiente enlace, pero nosostros vamos a hacer una instalación individual por componentes.
- Xampp es utilizado para entornos de desarrollo, normalmente de sitios web, [http://wiki.cifprodolfoucha.es/index.php?title=Drupal utilizando CMS, páginas php con acceso a datos,....y no se debe utilizar para entornos de producción.
LINUX
- Servidor web Apache: Seguir este enlace
- Instalación y configuración de Mysql:
- Podemos hacerlo a través de consola: Seguir este enlace.
- Podemos bajarnos los paquetes necesarios en función del S.O. que tengamos e instalarlos uno a uno.
- En este caso es mejor añadir el repositorio de Mysql para el S.O. correspondiente siguiendo estas instrucciones.
- Instalación de MySqlWorkBench, programa que permite gestionar gráficamente el Mysql: sudo apt-get install mysql-workbench
- Instalación de phpmyadmin, sitio web que permite gestionar mysql a través de un servidor web. Usado en los alojamientos compartidos de Internet: sudo apt-get install phpmyadmin
- Tendréis que seguir los pasos indicados en este enlace. Para acceder al sitio tendréis que escribir en un navegador: http://localhost/phpmyadmin
WINDOWS
- Descargar e instalar el servidor web Apache: Seguir los pasos indicados en este enlace.
- Descargar e instalar o soporte PHP para windows: Seguir los pasos indicados en este enlace.
- Descargar e instalar el gestor de bases de datos Mysql junto con la herramienta de administración MysqlWorkBench y el PhpMyAdmin.Seguir este enlace.
Configuración
Estado inicial
- La instalación crea en el sistema el usuario 'mysql' y el grupo 'mysql'.
- La instalación crea en el servidor de bases de datos el usuario 'root', La contraseña fue solicitada durante la instalación. Dicho usuario tiene control total sobre todas las bases de datos del servidor.
- Para ponerle contraseña debemos escribir el la línea de comandos, en caso de que no tenga una previa:
1 sudo mysqladmin -u root password nueva_contraseña
- En caso de tener una contraseña puesta y queramos cambiarla:
1 sudo mysqladmin -u root -p password nueva_contraseña
- Los usuarios de la base de datos no tienen nada que ver con los usuarios del sistema operativo.
- Por defecto hay una base de datos 'mysql' con información de MySQL y usuarios, y otra base de datos 'information_schema' con información de bases de datos.
- Ficheros y directorios importantes (pueden variar en otras instalaciones):
- /var/lib/mysql/
- Guarda las bases de datos del servidor.
- A cada base de datos corresponderá un directorio con el mismo nombre.
- A cada tabla MyISAM corresponderán varios ficheros con el mismo nombre que la tabla y diferente extensión (*.frm = formato, *.myd = datos tablas, *.myi = índices) dentro de un directorio con el mismo nombre que su base de datos.
- A cada tabla InnoDB corresponderán un fichero con el mismo nombre que la tabla y extensión .frm (formato) dentro de un directorio con el mismo nombre que su base de datos, y varios ficheros con nombre 'ibdata1','ibdata2',... (tablespace") que compartirá con otras bases de datos en el directorio principal de datos.
- El propietario de los ficheros es el usuario 'mysql' y el grupo 'mysql'.
- /var/log/mysql/
- Anotaciones y alertas del servidor.
- /etc/mysql/
- Ficheros de configuración general (my.cnf).
- Cada vez que cambiemos la configuración deberemos reiniciar el servidor para que se activen los nuevos cambios.
- /etc/init.d/mysql
- Script para arrancar, parar y reiniciar el servidor (lo utiliza la orden service mysql start, vista posteriormente).
- /usr/bin/ , /usr/sbin/ , /usr/share/mysql/
- Programas de MySQL
- El puerto por defecto del servidor MySQL es el TCP/UDP 3306.
- Para acceder remotamente al servidor debo modificar /etc/mysql/my.cnf y comentar la línea "bind-address" o comentar la línea "skip-networking"
- Si quiero los mensajes en otro idioma debo modificar /etc/mysql/my.cnf y cambiar la línea "[mysqld] language = ". Por ejemplo "laguage = spanish".
- Para saber la versión de Mysql instalada debemos ejecutar la orden: mysqld --version
Inicio / Parada / Estado
- Cuando se instala Mysql en Linux, este pasa a ser un servicio (proceso que se ejecuta automáticamente cuando se inicia el ordenador, no tiene interface gráfica).
- Podemos iniciar, parar o ver el estado del proceso con los siguientes comandos:
- Estados del servicio Mysql
- También se pueden parar con la orden:
1 mysqladmin -u root -p shutdown
- Cuando arrancamos el servicio se crea un proceso de nome mysqld. Este es el proceso que va a estar escuchando en un puerto determinado (lo especificamos en el archivo de configuración) las peticiones de consultas u órdenes de gestión sobre el Mysql.
- Podemos comprobar, con el servidor Mysql iniciado como aparece dicho proceso:
1 sudo ps aux | grep mysqld
Archivo de configuración del servidor
- El archivo de configuración de Mysql es my.cnf, que se encuentra en la carpeta de instalación de Mysql. En Linux es /etc/mysql/. Este archivo es en realidad un acceso directo el cual va a acabar apuntando al archivo mysql,cnf del mismo directorio.
- Nota: Podemos tener diferentes archivos de configuración que sean configurados para diferentes usuarios. El archivo de configuración situado en /etc/mysql/my.cnf afectará a todos los usuarios, pero el situado en el directorio "~/.my.cnf" (que es el directorio home de un usuario determinado) afectará a ese usuario.
- Para ver todas las opciones que podemos modificar en este archivo de configuración, debemos ejecutar desde una consola la siguiente orden:
1 sudo mysql --help
- El contenido del archivo de configuración global tiene las siguientes líneas:
1 !includedir /etc/mysql/conf.d/ 2 !includedir /etc/mysql/mysql.conf.d/
- Estas líneas lo que indican es que van a buscar en los dos directorios indicados, todos los archivos de configuración que encuentren. Dichos archivos pueden tener cualquier nombre, pero deben acabar con la extensión .cnf
- El archivo de configuración del servicio Mysql (mysql deamon=>mysqld) se encuentra en la carpeta: /etc/mysql/mysql.conf.d/mysqld.cnf
Como cambiar las opciones de configuración
-- Ángel D. Fernández González -- (2017).