Mysql se compone deinterfazSQL
Los conectores hacen referencia a la interacción con SQL en diferentes idiomas.
Servicios y Utilidades de Gestión : Herramientas de gestión y control del sistema.
Grupo de conexiones : grupo de conexiones. Administre conexiones de usuarios en caché, procesamiento de subprocesos, etc. que requieran almacenamiento en caché
Interfaz SQL : interfaz SQL , que acepta el comando SQL del usuario y devuelve el resultado que el usuario necesita consultar. Por ejemplo, seleccionar desde es para ajustar
Interfaz SQL para
Analizador : analizador. Cuando el comando SQL se pasa al analizador, el analizador lo verificará y analizará.
Optimizador : optimizador de consultas. La declaración SQL utilizará el optimizador de consultas para optimizar la consulta antes de realizar la consulta.
Caché y búfer : caché de consultas. Si el caché de consultas tiene un resultado de consulta exitoso, la declaración de consulta puede ir directamente al caché de consultas para recuperar los datos.
Según .
Motor : el motor de almacenamiento. El motor de almacenamiento es un subsistema específico de MySql que se ocupa de archivos.
Un proceso de ejecución de declaraciones SQL :
capa de conexión
( 1 ) Proporcionar protocolos de conexión: TCP/IP , SOCKET
( 2 ) Proporcionar autenticación: usuario, contraseña, IP , SOCKET
( 3 ) Proporcione un hilo de conexión dedicado: reciba SQL del usuario y devuelva el resultado
Puede ver la situación básica del hilo de conexión a través de la siguiente declaración
mysql> mostrar lista de procesos;
capa SQL
( 1 ) Recibir la declaración SQL transmitida por la capa superior
( 2 ) Módulo de verificación gramatical: verifique la sintaxis de la declaración , si cumple con SQL_MODE
( 3 ) Verificación semántica: juzgue el tipo de declaración SQL
DDL : lenguaje de definición de datos
DCL : Lenguaje de control de datos
DML : lenguaje de manipulación de datos
DQL : lenguaje de consulta de datos
...
( 4 ) Verificación de permisos: ¿Tiene el usuario permiso para acceder a la tabla de la base de datos?
( 5 ) Analizador: preprocesa la declaración antes de ejecutarla para generar un árbol de análisis ( plan de ejecución ), para decirlo sin rodeos, genera una variedad de planes de ejecución .
( 6 ) Optimizador: de acuerdo con los diversos planes de ejecución obtenidos por el analizador, emita juicios y seleccione el plan de ejecución óptimo.
Modelo de costo: el rendimiento de la evaluación del consumo de recursos ( CPU IO MEM ) es bueno o malo
( 7 ) Ejecutor: ejecute declaraciones SQL de acuerdo con el plan de ejecución óptimo y genere resultados de ejecución
Resultado de la ejecución: en la ubicación xxxx del disco
( 8 ) Proporcione caché de consultas (no habilitado de forma predeterminada) y use redis tail en lugar de la función de caché de consultas
( 9 ) Proporcione registros de registro (capítulo de gestión de registros): binlog , que no está habilitado de forma predeterminada.
Capa de motor de almacenamiento (similar al sistema de archivos en Linux )
Responsable de recuperar datos del disco de acuerdo con los resultados de la ejecución de la capa SQL .
Entregue los datos del disco hexadecimal a SQL para estructurarlos en una tabla,
El hilo dedicado de la capa de conexión regresa al usuario.
Instalación e implementación de MySQL
Instalación del paquete RPM (dos formas de instalación en línea e instalación fuera de línea) ----- comúnmente utilizado en entornos de prueba y desarrollo
Instalar en línea
Agregar una fuente de almacén mysql yum
#yum instalar http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
instalar mysql
# yum instala el servidor comunitario mysql
Instalar sin conexión
Descargue el paquete de instalación de RPM y cárguelo en el servidor
descomprimir
Cree una carpeta ( puede eliminar la carpeta directamente si no la necesita más adelante, es rápido y conveniente)
#mkdirmysql
#tar xf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C mysql
Instale los cuatro paquetes necesarios
#yum localinstall -y mysql-community-server-5.7.18-1.el7.x86_64.rpm mysql-community-client-5.7.18-1.el7.x86_64.rpm mysql-community-common-5.7.18-1 .el7.x86_64.rpm mysql-community-libs-5.7.18-1.el7.x86_64.rpm
Inicie MySQL una vez completada la instalación en línea y fuera de línea.
# systemctl start mysqld //Actualmente iniciado
# systemctl enable mysqld //Inicia automáticamente al arrancar
Consulta la contraseña de inicio de sesión temporal:
# awk '/contraseña temporal/ {imprimir $NF}' /var/log/mysqld.log
yPVr*drYb1uv
o # grep 'contraseña temporal' consulta /var/log/mysql.log
Inicie sesión en la base de datos:
# mysql -uroot -p
Introducir la contraseña:
#mysql -uroot -p 'contraseña' puede iniciar sesión directamente, le recordará que no es seguro, pero puede usarse
Después de iniciar sesión, no importa lo que hagas, se te recordará que debes cambiar tu contraseña antes de poder continuar operando.
cambiar la contraseña
mysql> alterar usuario root@localhost identificado por '123456';
ERROR 1819 (HY000): Su contraseña no cumple con los requisitos de la política actual
La contraseña debe cumplir con los requisitos de complejidad de la contraseña; de lo contrario, fallará. Por ejemplo: RedHat@123
mysql> alterar usuario root@localhost identificado por 'RedHat@123';
Consulta correcta, 0 filas afectadas (0,00 s)
Modo binario universal ----- comúnmente utilizado en entornos de producción
Descargar paquete --glibc
[root@node4 ~]#ll mysql-5.7.14-linux-glibc2.5-x86_64.tar
-rw-r--r-- 1 raíz raíz 672716800 5 de julio 14:15 mysql-5.7.14-linux-glibc2.5-x86_64.tar
Crear usuarios y grupos
# agregar grupo -r mysql
# usuarioadd mysql -r -g mysql -c "Servidor MySQL" -s /bin/false
descompresión, enlace suave
# tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar -C /usr/local
# tar xf /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
Cree un enlace suave: para futuras actualizaciones.
# ln -sv /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql
'/usr/local/mysql' -> '/usr/local/mysql-5.7.14-linux-glibc2.5-x86_64'
inicialización
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
Proporcionar archivos de configuración y scripts de inicio de servicios.
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
Modifique el archivo de configuración: vim /etc/my.cnf
[mysqld]
...
baseir = /usr/local/mysql
dirdatos = /usr/local/mysql/datos
guión de servicio
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
Agregue un servicio del sistema y configúrelo para que se inicie automáticamente al arrancar
# chkconfig --añadir mysqld
# chkconfig mysqld activado
iniciar mysql
# /usr/local/mysql/bin/mysqld_safe --usuario=mysql &
Configurar variables de entorno:
# vim /etc/profile.d/mysql.sh
exportar RUTA=/usr/local/mysql/bin:$RUTA
Cárgalo para que surta efecto.