Diferencia entre revisiones de «Mysql Instalación»
Ir a la navegación
Ir a la búsqueda
(→Tipos) |
|||
| Línea 204: | Línea 204: | ||
| − | ===== | + | ======Ejemplos de Variables====== |
Revisión del 17:53 23 sep 2017
Sumario
Requerimientos de software previos
- Para gestionar Mysql disponemos de varias herramientas clientes, entre las cuales están.
- 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.
- A mayores, cuando instalamos el Mysql disponemos de utilidades tipo consola, que nos permite conectarnos al gestor Mysql y realizar múltiples operaciones. Por ejemplo el programa mysql o el mysqladmin. Para ver la lista completa, abrir un terminal y escribir mysql pulsando después dos veces la tecla 'tabulador'.
- 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"
- 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
- En Mysql existen multitud de variables del sistema que podemos configurar.
- Los valores de estas variables fueron establecidos en el/los archivo de configuración de Mysql (visto anteriormente)
- Para saber los valores actuales de dichas variables debemos ejecutar la orden (desde Mysql):
1 show variables
- Nota: Desde mysql quiere decir que debemos estar conectados a mysql ya que es una orden SQL.
- Para hacerlo desde consola debemos conectarnos a mysql de la forma:
1 sudo mysql -u root -p
- Y después de escribir la contraseña de root podemos ejecutar las órdenes SQL que queramos, las cuales deben acabar en punto y coma.
- Para salir al shell debemos escribir: exit (y pulsar enter)
- Los valores de dichas variables (algunos de ellos) están establecidos en el archivo de configuración de Mysql, que como hemos visto anteriormente, las relacionadas con el servidor Mysql, se encuentran en el archivo /etc/mysql/mysql.conf.d/mysqld.conf.
- Si editamos dicho archivo podemos ver asignaciones a variables del sistema.
- Dichos valores pueden modificarse en este archivo o a través de las herramientas cliente de Mysql.
- El cambio de valor en alguna de las variables del sistema que sean de tipo Global (lo veremos después) llevará consigo la necesidad de reiniciar el servicio, para que coja los valores modificados.
Variables del sistema
Ejemplos de Variables
- innodb_file_per_table: A partir de la versión 5.6.6 de Mysql tiene un valor true. Hace que las tablas Inndb generen un archivo ibd para cada una. Dentro de este archivo se guardan los datos e índices de cada tabla. Es empleado para recuperar una base de datos de un desatre, en la que tengamos una copia de seguridad y acceso a dichos ficheros (junto a los ficheros frm). También podemos crear tablas en directorios concretos (fuera del directorio por defecto para datos de Mysql) y de esta forma aumentar el rendimiento (por ejemplo, podemos hacer que ciertas tablas se guarden en discos SSD), como se indica en este enlace.
-- Ángel D. Fernández González -- (2017).