A primeira vez para MySQL (conceito de banco de dados, comparação de bancos de dados principais atuais e compilação e instalação de mysql)

Prefácio

  • O banco de dados (banco de dados), em resumo, pode ser considerado um arquivo eletrônico - um local de armazenamento de arquivos eletrônicos.Os usuários podem realizar operações como adicionar, interceptar, atualizar e excluir dados no arquivo.

  • O chamado "banco de dados" é uma coleção de dados que são armazenados juntos de uma determinada forma, podem ser compartilhados por vários usuários, tem o mínimo de redundância possível e são independentes da aplicação.

  • Um banco de dados é composto de vários espaços de tabela (espaço de tabela)

  • Em comparação com blocos de notas e documentos, bancos de dados são grandes quantidades de dados, fáceis de gerenciar dados, fáceis de consultar dados rapidamente, algoritmos de dados e características não estruturadas

Um: visão geral do banco de dados

1.1: O que é um banco de dados

1.1.1: Conceitos básicos

  • dados
    • Os registros de símbolos que descrevem coisas são chamados de dados (dados)
    • Incluindo números, texto, gráficos, imagens, sons, registros de arquivos, etc.
    • Armazene em um formato unificado na forma de "registros"
    • Cada linha, chamada de registro
    • Cada coluna, chamada de campo
  • tabela
    • Os diferentes registros são organizados juntos para formar uma "tabela
    • É usado para armazenar dados específicos
  • base de dados
    • Um banco de dados é uma coleção de tabelas e um armazém para armazenar dados
    • Dados inter-relacionados armazenados em uma determinada organização
  • Sistema de gerenciamento de banco de dados (DBMS)

É um software de sistema que realiza uma organização, gerenciamento e acesso eficazes aos recursos de banco de dados

  • sistema de banco de dados

É um sistema homem-máquina que consiste em hardware, sistema operacional, banco de dados, DBMS, software aplicativo e usuários de banco de dados

Os usuários podem operar o banco de dados por meio de DBMS ou aplicativos

Insira a descrição da imagem aqui

1.1.2: Qual é a função do banco de dados?

  • Armazenamento persistente de dados
  • Alta confiabilidade, alta disponibilidade
  • Extração rápida de dados

1.2: História do desenvolvimento do sistema de banco de dados

  • Banco de dados de primeira geração
    • Desde 1960, surgiu a primeira geração de sistemas de banco de dados. Eles são sistemas de banco de dados de modelo hierárquico e modelo de rede, que fornecem forte suporte para gerenciamento unificado e compartilhamento de dados
  • Banco de dados de segunda geração
    • No início dos anos 1970, a segunda geração de bancos de dados - bancos de dados relacionais começou a aparecer
    • No início da década de 1980, surgiu o sistema de banco de dados relacional da IBM, DB2. Como banco de dados relacional de segunda geração do sistema de banco de dados, ele começou a substituir gradualmente o banco de dados do modelo hierárquico e de malha, tornando-se o banco de dados dominante e tornando-se o mainstream da indústria.
    • Até agora, os sistemas de banco de dados relacionais ainda ocupam a posição principal de aplicativos de banco de dados
  • Banco de dados de terceira geração
    • Desde a década de 1980, vários novos sistemas de banco de dados adaptados a diferentes campos surgiram, como bancos de dados de engenharia, bancos de dados multimídia, bancos de dados gráficos, bancos de dados inteligentes, bancos de dados distribuídos e bancos de dados orientados a objetos, etc., especialmente sistemas de banco de dados orientados a objetos. Forte praticidade, ampla adaptabilidade e favorecido pelas pessoas
    • No final da década de 1990, uma situação em que vários sistemas de banco de dados suportaram aplicativos em conjunto foi formada
    • É claro que, em termos de aplicativos de negócios, os bancos de dados relacionais ainda dominam, mas alguns novos elementos foram adicionados aos principais sistemas de banco de dados de negócios.
    • Por exemplo, o modelo de banco de dados "objeto de relação" suportado pela Oracle

1.3: Os principais tipos de banco de dados de hoje

1.3.1: Tipo de armazenamento de banco de dados

  • Banco de dados relacional:
    • Armazenados são valores numéricos, caracteres, strings, valores booleanos, etc.
  • Banco de dados não relacional:
    • O que é armazenado são fotos, vídeos, vozes, etc. (objetos)

1.3.2: Banco de Dados Relacional

  • MySQL (adquirido pela Oracle)
    • Gratuito, código aberto, tamanho pequeno
  • servidor sql (produto Microsoft)
    • Para sistema operacional Windows
    • Simples e fácil de usar
  • acesso (produto Microsoft)
    • Para sistema operacional Windows
    • Seja um membro do aplicativo Microsoft Office Suite
  • oracle (produto da empresa Oracle)
    • Para todas as principais plataformas
    • Operação segura, perfeita e complicada
  • db2 (IBM Corporation)
    • Para todas as principais plataformas
    • Grande, seguro e completo
  • sybase (empresa Sybase)
    • Para todas as principais plataformas
    • Grande, seguro e completo
    • O maior do mundo

1.3.3: Banco de dados não relacional

  • MongoDB
  • Redis (banco de dados de memória / cache), existe na forma de pares chave-valor KV (valor-chave—), nome-valor variável
  • memcache (banco de dados de memória / cache), existe na forma de pares chave-valor KV (valor-chave—), nome-valor variável
  • Redis e memcache são semelhantes
    • Armazene o banco de dados de alta temperatura
  • Diferenças entre Redis e memcache
    • O Redis pode fazer preservação persistente e pode armazenar objetos

1.4: Explicação detalhada do banco de dados relacional

  • O sistema de banco de dados relacional é um sistema de banco de dados baseado no modelo relacional, e seu conceito básico vem do modelo relacional
  • O modelo relacional é baseado na teoria da álgebra relacional, e a estrutura de dados usa uma tabela de dados bidimensional simples e fácil de entender, que pode ser representada diretamente por um diagrama simples de "relacionamento de entidade" (ER)
  • O diagrama ER contém três elementos: entidade (objeto de dados), relacionamento e atributo. Por exemplo:

Insira a descrição da imagem aqui

  • entidade:
    • Também chamado de instância, corresponde a "eventos" ou "
      coisas" que podem ser distinguidos de outros objetos do mundo real , como clientes de bancos, contas bancárias, etc.
  • Atributos:
    • Para uma determinada característica de uma entidade, uma entidade pode ter vários atributos. Por exemplo, cada entidade no conjunto de entidades "cliente do banco" possui atributos como nome, endereço e número de telefone
  • contato:
    • A correspondência entre conjuntos de entidades é chamada de associação, também conhecida como relacionamento. Por exemplo, existe uma relação de "poupança" entre clientes bancários e contas bancárias
  • A coleção de todas as entidades e suas conexões constitui um banco de dados relacional
  • Haverá códigos nas tabelas do banco de dados relacional, chamados de chaves primárias, que possuem características únicas e não vazias
  • A estrutura de armazenamento do banco de dados relacional é uma tabela bidimensional, e os dados que refletem as coisas e suas conexões são armazenados na forma de uma tabela
  • Em cada tabela bidimensional, cada linha é chamada de registro, usada para descrever as informações de um objeto; cada coluna é chamada de campo, usada para descrever um atributo do objeto
  • Exemplos de aplicativos de bancos de dados relacionais:
    • 12306 Sistema de Informação do Usuário
    • Sistema de informação de conta Taobao, sistema de conta Alipay móvel, telecomunicações, sistema de informação de número de telefone móvel China Unicom, sistema de faturamento sistema de conta de usuário do banco
    • Sistema de informação do usuário do site

1.5: Explicação detalhada de bancos de dados não relacionais

  • O banco de dados não relacional também é chamado de NOsQL (não apenas SQL)

  • Os dados armazenados não são baseados no modelo relacional e não requerem um formato de tabela fixo

  • Como um suplemento ao banco de dados relacional, os bancos de dados não relacionais apresentam alta eficiência e alto desempenho na era de desenvolvimento cada vez mais rápido de sites

  • Vantagens de bancos de dados não relacionais

    • Alta demanda simultânea de leitura e gravação do banco de dados
    • Armazenamento eficiente e acesso a dados massivos
    • Requisitos de alta escalabilidade e alta disponibilidade do banco de dados
  • O NoSQL existe principalmente na forma de arquivos

  • Armazenamento de banco de dados relacional

    • Método de valor-chave (valor-chave), armazena, exclui e modifica dados com base na chave
    • Armazenamento de coluna (orientado a coluna), armazena dados relacionados em famílias de coluna
    • Na forma de documentos, o banco de dados consiste em uma série de itens de dados, cada um dos quais possui um nome e um valor correspondente
    • Modo gráfico, entidade é vértice, relacionamento é borda, dados são salvos como um gráfico
  • Produtos de banco de dados não relacionais

    • Memcached é um sistema de cache de alto desempenho de código aberto com objetos de memória distribuída, que armazena dados de uma maneira de valor-chave

      • Dados de cache para reduzir a pressão do banco de dados e acelerar o acesso
      • Acelere os aplicativos dinâmicos da web
      • O conteúdo em cache é mantido na memória
    • O Redis também é uma forma de armazenar dados em valor-chave.Os dados também são armazenados na memória, mas são gravados periodicamente no disco.

      • Comparado com o Memcached, ele tem as seguintes características
        • Suporta cache de memória
        • Persistência de suporte
        • Mais tipos de dados
        • Cluster de suporte, distribuído
        • Fila de suporte
    • O arquivo de log do banco de dados é usado para recuperação e o log oracle é chamado de grupo de logs de redo

    • Por exemplo:

      • O armazenamento de objetos Ali oss adota a ideia de grupo de redo log oracle,

        Todos os dados oss estão em triplicado, é o sistema Pangu

        Redis tem um relay log (log binário)

    • Exemplos de aplicativos Redis

      • Cache de front-end do banco de dados
      • compartilhamento de sessão
      • Quando mais tipos de dados diferentes de chave / valor precisam ser armazenados em cache
      • Quando os dados em cache precisam ser armazenados por muito tempo

Dois: compilar e instalar o MySQL

2.1: banco de dados MySQL

2.1.1: O conceito de banco de dados MySQL

  • MySQL é um banco de dados relacional Kaiyuan popular
  • Produtos Oracle
  • Cumprir o contrato GPL, livre para usar e modificar
  • Recursos
    • Excelente desempenho e serviço estável
    • Código aberto, sem restrições de direitos autorais, baixo custo
    • Multi-threaded, multiusuário
    • Fornece arquitetura C / S (cliente / servidor)
    • Seguro e confiável

2.1.2: A diferença entre MySQL Business Edition e Community Edition

  • O MySQL Business Edition é desenvolvido e mantido pela MySQL AB e requer pagamento para usar
  • O MySQL Community Edition é desenvolvido e mantido por desenvolvedores e entusiastas do MySQL espalhados por todo o mundo e pode ser usado gratuitamente
  • A diferença entre os dois
    • A versão comercial possui gerenciamento organizacional e links de teste mais rígidos e melhor estabilidade
    • A versão comercial não está em conformidade com GPL
    • A versão comercial pode obter 7 * 24 horas de serviço, como manutenção de falhas e correção, etc.

2.1.3: acampamento de produtos MySQL

  • O primeiro campo: 5.0-5.1, que pode ser considerado uma continuação dos primeiros produtos
  • O segundo campo: campo 5,4-5,7, melhor integração dos mecanismos de armazenamento desenvolvidos pela MySQL AB, a comunidade e empresas terceirizadas para melhorar o desempenho
  • O terceiro campo: 6.0-7.1 camp, que é a versão do cluster MySQL, desenvolvido para atender às necessidades da nova era de clusters para bancos de dados

2.2: Compile e instale o MySQL (versão 5.7)

2.2.1: Instale o pacote de dependência do ambiente mysql

[root@localhost ~]# cd /opt
[root@localhost ~]# mkdir /mysql
[root@localhost ~]# cd /mysql
[root@localhost mysql]# yum -y install gcc \
gcc-c++ \
ncurses \				'字符终端的包,方便终端操作'
ncurses-devel \			
bison \					'函数库'
cmake					'跨平台的安装工具'

2.2.2: Compilar e instalar

[root@localhost mysql]# cd /opt/mysql-5.7.20/			'boost是5.7版本的特性'
[root@localhost mysql-5.7.20]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \			'sock;通讯文件,连接数据库,通讯协议的载体'
-DSYSCONFDIR=/etc \										'配置目录指向etc'
-DSYSTEMD_PID_DIR=/usr/local/mysql \			'pid文件位置'
-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									'守护进程'
[root@localhost mysql-5.7.20]# make && make install

2.2.3: Crie um usuário, defina as permissões do diretório / usr / local / mysql

[root@localhost local]# useradd -s /usr/sbin/nologin mysql
[root@localhost local]# chown -R mysql.mysql mysql/

2.2.4: Editar o arquivo de configuração

[root@localhost local]# cd /etc
[root@localhost etc]# vim 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

2.2.5: Definir variáveis ​​de ambiente

[root@localhost etc]# vim /etc/profile
'最后一行插入'
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
[root@localhost etc]# source /etc/profile

2.2.6: Inicializar o banco de dados

[root@localhost etc]# cd /usr/local/mysql/
[root@localhost mysql]# bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data 

2.2.7: Defina a senha do mysql e tente fazer login no banco de dados

[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
[root@localhost mysql]# netstat -ntap | grep 3306
[root@localhost mysql]# systemctl start mysqld.service 
[root@localhost mysql]# netstat -ntap | grep 3306
[root@localhost mysql]# systemctl enable mysqld.service 
[root@localhost mysql]# mysqladmin -u root -p password "ab123" 
Enter password:              '这里密码为空'
[root@localhost mysql]# mysql -u root -p
Enter password:              '这里密码为ab123'
mysql> show databases;
mysql> quit

Acho que você gosta

Origin blog.csdn.net/m0_47219942/article/details/108024789
Recomendado
Clasificación