Base de datos MySQL --- gestión de bases de datos y alta disponibilidad

Prefacio

  • En esta era de explosión de la información, se produce constantemente una gran cantidad de datos e información, y lo que viene con ello es cómo almacenarlos, recuperarlos y gestionarlos de forma segura y eficaz. El almacenamiento efectivo, el acceso eficiente, el uso compartido conveniente y el control de seguridad de los datos se han convertido en problemas que deben resolverse en la era de la información.

1. Introducción a la base de datos

1.1 La necesidad de utilizar la base de datos

  • El uso de la base de datos puede almacenar datos de manera eficiente y clara, de modo que las personas puedan administrar los datos de manera más rápida y conveniente;
  • La base de datos tiene las siguientes características:
可以结构化存储大量的数据信息,方便用户进行有效的检索和访问;
可以有效地保持数据信息的一致性、完整性,降低数据冗余;
可以满足应用的共享与安全方面的要求
  • La tecnología de bases de datos es una de las tecnologías centrales de la informática y tiene una base teórica completa.

1.2 Conceptos básicos de base de datos

1.2.1 Datos

  • Registro de símbolo
  • Incluyendo números, texto, gráficos, imágenes, sonidos, registros de archivos, etc.
  • Almacenar en un formato unificado en forma de "registros"

1.2.2 Hoja de datos

  • Organizar diferentes registros juntos
  • Se usa para almacenar datos específicos

1.2.3 Base de datos

  • Una colección de tablas es un almacén para almacenar datos.
  • Una colección de datos relacionados almacenados en una determinada organización.

1.2.4 Sistema de gestión de bases de datos (DBMS)

  • Es un software de sistema que realiza una organización, gestión y acceso efectivos a los recursos de la base de datos.

1.2.5 Sistema de base de datos

  • Es un sistema hombre-máquina que consta de usuarios de hardware, SO, base de datos, DBMS, software de aplicación y base de datos.
  • Los usuarios pueden operar la base de datos a través de DBMS o aplicaciones

Inserte la descripción de la imagen aquí

1.3 Historia del desarrollo del sistema de base de datos

1.3.1 La base de datos de primera generación

  • Desde la década de 1960, salió la primera generación de sistemas de bases de datos.
  • Es un sistema de base de datos de modelo jerárquico y modelo de red.
  • Proporciona un fuerte apoyo para la gestión unificada y el intercambio de datos.

1.3.2 La base de datos de segunda generación

  • A principios de la década de 1970, comenzó a aparecer la segunda generación de bases de datos-bases de datos relacionales
  • A principios de la década de 1980, apareció el sistema de base de datos relacional de IBM DB2, y comenzó a reemplazar gradualmente las bases de datos de modelos jerárquicos y de malla, convirtiéndose en la corriente principal de la industria.
  • Hasta ahora, los sistemas de bases de datos relacionales siguen ocupando la posición principal de las aplicaciones de bases de datos.

1.3.3 La base de datos de tercera generación

  • Desde la década de 1980, han ido surgiendo nuevos sistemas de bases de datos adaptados a diferentes campos.
  • Sistema de base de datos orientado a objetos con gran practicabilidad y amplia adaptabilidad
  • A fines de la década de 1990, se formó una situación en la que múltiples sistemas de bases de datos respaldaban conjuntamente aplicaciones
  • -Se han agregado algunos elementos nuevos a los sistemas de bases de datos convencionales: por ejemplo, el modelo de base de datos "relación-objeto" compatible con Oracle

1.4 Introducción a las bases de datos convencionales actuales

  • SQL Server (producto de Microsoft Corporation):
    para el sistema operativo Windows; simple y fácil de usar
    Inserte la descripción de la imagen aquí

  • Oracle (producto de la empresa Oracle): para
    todas las plataformas principales; seguro, completo y complicado de operar
    Inserte la descripción de la imagen aquí

  • DB2 (producto de IBM):
    para todas las plataformas principales; en forma de cielo, seguro y completo
    Inserte la descripción de la imagen aquí

  • MySQL (adquirido por Oracle):
    gratuito, de código abierto, de tamaño pequeño
    Inserte la descripción de la imagen aquí

1.5 Base de datos relacional

1.5.1 Resumen

  • El sistema de base de datos relacional es un sistema de base de datos basado en un modelo relacional
  • La estructura de datos del modelo relacional utiliza una tabla de datos bidimensional simple y fácil de entender
  • El modelo relacional se puede representar mediante un diagrama simple "Entidad-Relación" (ER)
  • El diagrama ER contiene tres elementos: entidad (objeto de datos), relación y atributo

Inserte la descripción de la imagen aquí

1.5.2 Introducción a cada módulo

  • Entidades: también llamadas instancias, correspondientes a "eventos" o "cosas" que se pueden distinguir de otros objetos del mundo real, como "clientes bancarios, cuentas bancarias, etc."
  • Atributo: una determinada característica de una entidad. Una entidad puede tener múltiples atributos. Por ejemplo, cada entidad en el conjunto de entidades del cliente bancario tiene atributos como nombre, dirección y número de teléfono.
  • Contacto: la relación correspondiente entre conjuntos de entidades se denomina contacto, también conocida como relación. Por ejemplo, existe una relación de "ahorro" entre los clientes bancarios y las cuentas bancarias.
  • La colección de todas las entidades y sus conexiones constituye una base de datos relacional

1.5.3 Introducción a la estructura de la base de datos relacional

  • La estructura de almacenamiento de la base de datos relacional es una tabla bidimensional
  • En cada tabla bidimensional:
    cada fila se llama registro, se usa para describir la información de un objeto,
    cada columna se llama campo, se usa para describir un atributo del objeto

1.5.4 Aplicación de base de datos relacional

  • Base de datos relacional:
    Oracle, MySQL
    SQLServer, Sybase
    Informix, acceso a
    DB2, FoxPRO

  • Ejemplos de aplicación:
    sistema de información de usuario 12306 sistema de
    cuenta de Taobao sistema de
    información de número de teléfono móvil de China Unicom sistema de
    cuenta de usuario del banco sistema de
    información de usuario del sitio web

1.6 Introducción a las bases de datos no relacionales

  • La base de datos no relacional también se llama NoSQL (No solo sQL)
  • Los datos almacenados no se basan en el modelo relacional y no requieren un formato de tabla fijo
  • Ventajas de las bases de datos no relacionales: La
    base de datos se puede leer y escribir
    con alta concurrencia, y puede almacenar y acceder a datos masivos de manera eficiente La
    base de datos tiene alta escalabilidad y alta disponibilidad.
  • Bases de datos no relacionales de uso común: Redis, mongoDB, etc.

2. Base del servicio MySQL

2.1 Introducción a la base de datos MySQL

  • Una popular base de datos relacional de código abierto
  • Productos Oracle
  • Cumplir con el acuerdo GPL, se puede usar y modificar de forma gratuita
  • Características:
    excelente rendimiento, servicio estable,
    código abierto, sin restricciones de derechos de autor, bajo costo
    , multiproceso, multiusuario,
    basado en arquitectura CIS (cliente / servidor),
    seguro y confiable

2.2 Compilar e instalar la base de datos MySQL

2.2.1 Preparación

  • Necesita preparar el paquete de componentes MySQL
  • Si hay otras bases de datos instaladas, desinstálelas primero
yum -y remove 数据库名

2.2.2 Compilación e instalación del código fuente

  • Instalar herramientas relacionadas
yum -y install ncurses ncurses-devel cmake
		'//ncurses-devel是字符终端下屏幕控制的基本库'
		'//cmake跨平台编译安装工具'
  • Crea un usuario en ejecución
useradd -s /sbin/nologin mysql	'//创建不可登录的用户'
  • Deshacer
tar zxvf mysql-boost-5.7.20.tar.gz	'//解包'
cd mysql-5.7.20/
  • cmake instalación y configuración
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
  • Compilar e instalar
make && make install		'//编译安装'

2.3 Otros ajustes después de la instalación

  • Establecer permisos en el directorio de la base de datos
cd
chown -R mysql:mysql /usr/local/mysql/		'//设置属主和数组'
  • Cree el archivo de configuración /etc/my.cnf
rm -rf /etc/my.cnf		'//如果原来的/etc/文件夹下有 my.cnf 文件可以删除'

vi /etc/my.cnf
[client]
port = 3306
default-character-set = utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set = utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server = utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
  • Establecer variables de entorno
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile		'//使配置立即生效'
  • Inicializar la base de datos
mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

2.4 Agregar e iniciar servicios del sistema

cd /usr/local/mysql/
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
systemctl daemon-reload	 	'//守护进程重新加载'
systemctl start mysqld
systemctl enable mysqld
netstat -anpt | grep 3306		'//查看端口信息'

2.5 Acceso a la base de datos MySQL

  • Inicie sesión en el servidor MySQL
mysql -uroot -p		'//初始化密码,第一次以空密码登录'

Inserte la descripción de la imagen aquí

  • También puede cambiar la contraseña de inicio de sesión establecida
mysqladmin -uroot -p password 'abc123'  //给root账号设置密码为abc123
mysql -uroot -pabc123	//以"abc123"为密码登录数据库

Inserte la descripción de la imagen aquí

  • Ejecutar declaración de operación MySQL
mysql> show databases;	//查看当前mysql服务器中包含的库
mysql> show tables;  //查看当前所在库中包含的表

Inserte la descripción de la imagen aquí

  • Salir del entorno operativo "mysql>"
mysql> exit
Bye
[root@localhost ~]#

3. Comandos básicos de operación de la base de datos

  • Lenguaje SQL
Structured Query Language的缩写,即结构化查询语言
关系型数据库的标准语言
用于维护管理数据库:包括数据查询、数据更新、访问控制、对象管理等功能

3.1 Clasificación de la base de datos

3.1.1 Clasificación de datos

  • Datos estructurados Los datos que
    se pueden representar mediante una tabla lógica bidimensional son datos estructurados
  • Datos no estructurados Los datos que
    no son convenientes para usar tablas lógicas bidimensionales son datos no estructurados

3.1.2 Clasificación de bases de datos

  • Base de
    datos relacional Los datos almacenados en una base de datos relacional están en formato de tabla, por lo que se almacenan en las filas y columnas de la tabla de datos.Las tablas de datos se pueden almacenar en asociación entre sí, lo que facilita la extracción de datos.
  • Bases de datos
    no relacionales Los datos de las bases de datos no relacionales no son adecuados para el acceso en forma de tablas, sino que se combinan en grandes bloques, generalmente almacenados en un conjunto de datos, que es conveniente para almacenar documentos, imágenes y otros datos.
  • Clasificación de declaraciones de uso común en la base de datos mysql
DDL (Data Definition Language,数据定义语言)﹔
用来建立数据库、数据库对象和定义字段,如 CREATE、ALTER、DROP。

DML (Data Manipulation Language,数据操纵语言)∶
用来插入、删除和修改数据库中的数据,如 INSERT、UPDATE、DELETE。

DQL (Data Query Language,数据查询语言):用来查询数据库中的数据,如 SELECT。

DCL (Data Control Language,数据控制语言):
用来控制数据库组件的存取许可、存取权限等,如 COMMIT、ROLLBACK、GRANT、REVOKE。

3.2 Operaciones de administración comunes de MySQL

  • Ver la estructura de la base de datos
  • Crear y eliminar bibliotecas y tablas
  • Registros de la tabla de gestión

3.2.1 Ver la estructura de la base de datos

查看数据库列表信息的命令

show databases;
查看数据库中的数据表信息

use 数据库名;
show tables;
显示数据表的结构(字段)

describe [数据库名.]表名;
或
use 数据库名;
describe 表名;

3.2.2 Crear y eliminar bibliotecas y tablas

  • Crea una nueva biblioteca
create database 数据库名;

刚创建的数据库是空的,其中不包含任何表,在/usr/local/mysql/data目录下会自动生成一个与新建的库名相同的空文件夹
  • Crear nueva tabla
create table 表名(字段 1 名称 类型,字段 1 名称 类型,...,PRIMARY KEY(主键名))

创建表之前,应先明确数据表格的结构、各字段的名称和类型等信息。
  • Eliminar una tabla de datos
DROP TABLE 库名.表名

Supongo que te gusta

Origin blog.csdn.net/weixin_42449832/article/details/111563737
Recomendado
Clasificación