通过 docker-compose 快速部署 MySQL保姆级教程

一、概述

MySQL 是一种开源的关系型数据库办理系统(RDBMS),以其快速、牢靠和易于运用而受到广泛的欢迎。MySQL 运用 SQL(结构化查询言语)进行查询、办理和操作数据。MySQL 是一种跨渠道的数据库,支持在各种操作系统(如 Windows、Linux、MacOS等)上运转。

MySQL 中的重要概念包含:

  • 数据库:指的是一个完整的数据集合,其间包含多个表。

  • :是一个数据实体的二维结构,在表中咱们可以以行和列的形式来操作数据。

  • :表中一个字段的名称。

  • :表中的详细数据。

  • 主键:用于唯一标识表中的每一行数据的字段。

  • 外键:用于相关表之间数据的字段。

  • 索引:用于加速数据的查询,可以经过特定的属性来提高查询功能。

  • 视图:是一个虚拟表,它经过查询获取数据。

MySQL 中比较常用的指令包含:

  • CREATE DATABASE: 创立一个新的数据库。

  • CREATE TABLE: 创立一个新的表。

  • INSERT INTO: 向表中刺进新的数据。

  • SELECT: 从表中查询数据。

  • UPDATE: 更新表中的数据。

  • DELETE: 删去表中的数据。

  • ALTER TABLE: 修正表的结构。

  • DROP TABLE: 删去一个表。

  • DROP DATABASE: 删去一个数据库。

  • USE: 切换运用的数据库。

  • SHOW DATABASES: 显现一切可用的数据库。

  • SHOW TABLES: 显现数据库中的一切表。

除了上述根本指令之外,MySQL 还支持事务处理、触发器、存储进程等高档特性。把握 MySQL 的运用,可以帮助咱们更好地进行数据存储、办理和处理。想了解更多MYSQL的知识点可参阅我以下几篇文章:

  • MySQL原理介绍
  • MySQL高可用实战( MHA)

通过 docker-compose 快速部署 MySQL保姆级教程

二、前期预备

1)布置 docker

# 装置yum-config-manager装备工具
yum -y install yum-utils
# 建议运用阿里云yum源:(引荐)
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 装置docker-ce版本
yum install -y docker-ce
# 发动并开机发动
systemctl enable --now docker
docker --version

2)布置 docker-compose

curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version

三、创立网络

# 创立,留意不能运用hadoop_network,要不然发动hs2服务的时候会有问题!!!
docker network create hadoop-network
# 检查
docker network ls

四、MySQL 编排布置

1)构建镜像 Dockerfile

docker pull mysql:5.7
docker tag mysql:5.7 registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/mysql-test:5.7
# 推送镜像
docker push registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/mysql-test:5.7

2)装备文件

mkdir ./conf
cat >./conf/my.cnf<<EOF
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
EOF

2)编排 docker-compose.yaml

version: '3'
services:
  mysql-test:
    image: registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/mysql-test:5.7
    restart: always
    container_name: mysql-test
    hostname: mysql-test
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      TZ: Asia/Shanghai
    ports:
      - 3306:3306
    volumes:
      - ./data:/var/lib/mysql
      - ./conf/my.cnf:/etc/mysql/my.cnf
    command:
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --default-authentication-plugin=mysql_native_password
    networks:
      - hadoop-network
    healthcheck:
      test: ["CMD-SHELL", "curl --silent localhost:3306 >/dev/null || exit 1"]
      interval: 10s
      timeout: 10s
      retries: 3
# 连接外部网络
networks:
  hadoop-network:
    external: true

3)开始布置

docker-compose -f docker-compose.yaml up -d
# 检查
docker-compose -f docker-compose.yaml ps

五、简略测验验证

# 登录容器
docker exec -it mysql-test bash
# 登录mysql
mysql -uroot -p
输入暗码:123456
show databases;

六、常用的 MySQL 客户端指令

MySQL 是一种常用的关系型数据库,咱们可以经过客户端连接MySQL服务器,并执行各种SQL句子来对数据库进行办理。下面罗列一些常用的 MySQL 客户端指令:

1)连接到MySQL服务器

mysql -u username -p password -h host -P port

其间,-u 表明用户名,-p 表明暗码,-h 表明服务器主机名或IP地址,-P 表明端口号。

2)显现当时数据库列表

show databases;

3)挑选数据库

use database_name;

其间,database_name 为要挑选的数据库名。

4)显现当时数据库的一切表

show tables;

5)显现表的结构

describe table_name;

其间,table_name 为要检查结构的表名。

6)刺进数据

insert into table_name (field1, field2, ...) values (val1, val2, ...);

其间,table_name 为需求刺进数据的表名,field1, field2,... 为字段名,val1, val2,... 为要刺进的对应值。

7)删去数据

delete from table_name where condition;

其间,table_name 为需求删去数据的表名,condition 为删去数据的条件。

8)修正数据

update table_name set column1 = value1, column2 = value2 where condition;

其间,table_name 为需求修正数据的表名,column1、column2 为需求修正的列名,value1、value2 为要更新的值,condition 为更新条件。

这些是MySQL客户端常用的指令,可以覆盖数据库办理中的大部分操作。需求留意的是,MySQL客户端指令在语法和运用上可能有细微的差别,详细还需根据实际情况详细运用。


以上就是经过 docker-compose 快速布置 MySQL保姆级教程,有任何疑问欢迎留言或关注我公众号【大数据与云原生技术共享】加群沟通或私信沟通~

通过 docker-compose 快速部署 MySQL保姆级教程