华为云云耀云服务器L实例评测|基于L实例使用Docker部署MySQL服务并连接MySQL—phpMyAdmin管理工具

2023-09-17 16:06:05

一、云耀云服务器产品优势

image-20230917155345670

1、智能不卡顿

  • 华为云擎天架构加持,软硬协同结合AI算法智能调度,为您提供优质性能。
  • 华为云全球存算一张网,数据传输时延比眨眼还短,满足游戏、音视频等低网络时延场景的高要求。

2、价优随心用

  • 超高性价比,超低门槛,敞开随心用。
  • 多种实例规格,平衡性能与成本。
  • 技术升级优化用云成本,普惠更多初创企业和开发者。

3、上手更简单

  • 多种镜像、资源组合一键下单。
  • 严选多款高品质镜像,经过华为云官方严格测试,覆盖七大场景,预置模板,快速搭建,安全可信。
  • 自动化编排,资源一键开通,业务分钟级上线。
  • 平滑学习曲线,向导式应用搭建,应用轻松启用。

4、管理更省心

  • 拓扑、资源、镜像可视化管理,业务架构透明化管理。
  • 贴心服务状态提醒,资源续退一键式操作,实现极简管理。
  • 资源负载、安全,使用率实时监控,保障服务永远在线。
  • 可选配丰富的安全服务,包括丰富的备份、主机安全等服务,提供最高等级的安全防护。

二、远程连接云耀云服务器L实例

  • 查看所创建的云耀云服务器L实例详细配置参数信息。
CPU核数内存大小磁盘空间带宽公网IP地址操作系统
CPU 2核内存 2GiB系统盘 40GiB带宽 3Mbit/s121.37.153.196CentOS 7.9 64bit

image-20230917153225523

  • 通过SSH命令远程登录云服务器
ssh root@121.37.153.196

三、安装Docker、docker-compse

1、docker安装

docker安装命令汇总

# sudo yum update -y
# sudo yum install -y docker
# systemctl start docker
# systemctl enable docker
# systemctl status docker
# docker version
  • docker版本查询
[root@hcss-ecs-2d95 ~]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7d71120/1.13.1
 Built:           Wed Mar  2 15:25:43 2022
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7d71120/1.13.1
 Built:           Wed Mar  2 15:25:43 2022
 OS/Arch:         linux/amd64
 Experimental:    false
[root@hcss-ecs-2d95 ~]# docker-compose version
Docker Compose version v2.20.3

2、docker-compose安装

# 下载插件
sudo curl -L "https://github.com/docker/compose/releases/download/2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

PS:若直接在云服务器中下载受阻,可以先将软件包下载到本地后,再上传到云服务器中。

# 授权
sudo chmod +x /usr/local/bin/docker-compose

# 查看docker-compose版本
docker-compose version

四、方法① 使用Docker安装部署MySQL服务

# 拉取mysql镜像
sudo docker pull mysql:5.7.33

# 查看拉取的镜像
sudo docker image ls

# 启动MySQL服务
sudo docker run -it --rm --name xybdb -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7.33

# 进入容器bash-shell
sudo docker exec -it xybdb bash -p

# 查看容器内目录结构
ls -al
# drwxr-xr-x   2 root root    6 Apr 10  2021 docker-entrypoint-initdb.d

# 在shell中连接数据库
mysql -u root -p -h 127.0.0.1

# 显示当前数据库
mysql> show databases;

# 停止xybdb容器
sudo docker container stop xybdb

# 查看是否删除
sudo docker container ls -a

具体操作过程演示:

[root@hcss-ecs-2d95 ~]# docker pull mysql:5.7.33
Trying to pull repository docker.io/library/mysql ...
5.7.33: Pulling from docker.io/library/mysql
f7ec5a41d630: Pull complete
9444bb562699: Pull complete
6a4207b96940: Pull complete
181cefd361ce: Pull complete
8a2090759d8a: Pull complete
15f235e0d7ee: Pull complete
d870539cd9db: Pull complete
7310c448ab4f: Pull complete
4a72aac2e800: Pull complete
b1ab932f17c4: Pull complete
1a985de740ee: Pull complete
Digest: sha256:e42a18d0bd0aa746a734a49cbbcc079ccdf6681c474a238d38e79dc0884e0ecc
Status: Downloaded newer image for docker.io/mysql:5.7.33

[root@hcss-ecs-2d95 ~]# sudo docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              f5a6b296b8a2        9 days ago          187 MB
docker.io/nginx     stable-alpine       6dae3976ee05        5 weeks ago         41.1 MB
docker.io/mysql     5.7.33              450379344707        2 years ago         449 MB

[root@hcss-ecs-2d95 ~]# sudo docker run -it --rm --name xybdb -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7.33
8d2a077a12b70528e62267902eedf61f3132a91018696e395bc17c26ab40855a

[root@hcss-ecs-2d95 ~]# sudo docker exec -it xybdb bash -p

root@8d2a077a12b7:/# ls -al
total 80
drwxr-xr-x   1 root root 4096 Sep 17 02:15 .
drwxr-xr-x   1 root root 4096 Sep 17 02:15 ..
-rwxr-xr-x   1 root root    0 Sep 17 02:15 .dockerenv
drwxr-xr-x   1 root root 4096 Apr 10  2021 bin
drwxr-xr-x   2 root root 4096 Mar 19  2021 boot
drwxr-xr-x   5 root root  360 Sep 17 02:15 dev
drwxr-xr-x   2 root root 4096 Apr 10  2021 docker-entrypoint-initdb.d
lrwxrwxrwx   1 root root   34 Apr 10  2021 entrypoint.sh -> usr/local/bin/docker-entrypoint.sh
drwxr-xr-x   1 root root 4096 Sep 17 02:15 etc
drwxr-xr-x   2 root root 4096 Mar 19  2021 home
drwxr-xr-x   1 root root 4096 Apr 10  2021 lib
drwxr-xr-x   2 root root 4096 Apr  8  2021 lib64
drwxr-xr-x   2 root root 4096 Apr  8  2021 media
drwxr-xr-x   2 root root 4096 Apr  8  2021 mnt
drwxr-xr-x   2 root root 4096 Apr  8  2021 opt
dr-xr-xr-x 110 root root    0 Sep 17 02:15 proc
drwx------   1 root root 4096 Apr 10  2021 root
drwxr-xr-x   1 root root 4096 Sep 17 02:15 run
drwxr-xr-x   2 root root 4096 Apr  8  2021 sbin
drwxr-xr-x   2 root root 4096 Apr  8  2021 srv
dr-xr-xr-x  13 root root    0 Sep 13 14:24 sys
drwxrwxrwt   1 root root 4096 Sep 17 02:15 tmp
drwxr-xr-x   1 root root 4096 Apr  8  2021 usr
drwxr-xr-x   1 root root 4096 Apr  8  2021 var

root@8d2a077a12b7:/# mysql -u root -p -h 127.0.0.1
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit;
Bye
root@8d2a077a12b7:/# exit
exit
[root@hcss-ecs-2d95 ~]#

[root@hcss-ecs-2d95 ~]# sudo docker container stop xybdb
xybdb
[root@hcss-ecs-2d95 ~]# sudo docker container ls -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                NAMES
2f20c79f487c        nginx:stable-alpine   "/docker-entrypoin..."   2 days ago          Up 2 days           0.0.0.0:80->80/tcp   root-mynginx-1
[root@hcss-ecs-2d95 ~]#

TGW

拉取mysql镜像动画演示

image-20230917101429891

使用`docker pull命令`拉取mysql镜像

五、方法② 使用docker-compse安装部署MySQL服务(可选)

## 编辑文件目录
# 创建mysql目录
[root@hcss-ecs-2d95 ~]# mkdir mysql

# 数据库初始化脚本目录
[root@hcss-ecs-2d95 ~]# mkdir mysql/initdb

# 数据库数据存储目录
[root@hcss-ecs-2d95 ~]# mkdir mysql/datadir

# 创建docker-compose.yml
version: "3"
services: 
  mysql:
    restart: always
    image: mysql:5.7.33	# 指定Docker镜像名
    ports:
      - 3306:3306
    container_name: xyb_mysql-server
    volumes:
      - ./mysql/initdb:/initdb:/docker-entrypoint-initdb.d  # 启动初期数据绑定位置
      - ./mysql/datadir:/var/lib/mysql					    # 数据库数据存储位置指定
    environment:
      - MYSQL_ROOT_PASSWORD=12345678		# 设定数据库root用户名密码

# 编译服务
[root@hcss-ecs-2d95 ~]# docker-compose build

# 容器启动
[root@hcss-ecs-2d95 ~]# docker-compose up -d

# 查询容器状态
[root@hcss-ecs-2d95 ~]# docker-compose ps
[root@hcss-ecs-2d95 ~]# nmap 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2023-09-17 15:11 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 1.59 seconds

# 连接mysql client
[root@hcss-ecs-2d95 ~]# docker exec -it xyb_mysql-server -p

# 执行myweb容器内的命令
[root@hcss-ecs-2d95 ~]# docker-compose run mysql ls

# 查看容器输出日志
[root@hcss-ecs-2d95 ~]# docker-compose logs -f mysql

# 容器停止
[root@hcss-ecs-2d95 ~]# docker-compose stop

# 容器停止+容器删除(容器+网络)
[root@hcss-ecs-2d95 ~]# docker-compose down

# 容器停止+消除(容器+网络+镜像)
[root@hcss-ecs-2d95 ~]# docker-compose down --rmi all

# 查看docker-compose服务
[root@hcss-ecs-2d95 ~]# docker-compose ps

具体操作演示步骤如下:

[root@hcss-ecs-2d95 ~]# docker-compose up -d
[+] Running 2/2
 ✔ Network root_default        Created                         0.0s
 ✔ Container xyb_mysql-server  Started                         0.0s

[root@hcss-ecs-2d95 ~]# docker-compose ps
NAME                IMAGE               COMMAND                  SERVICE             CREATED             STATUS              PORTS
xyb_mysql-server    mysql:5.7.33        "docker-entrypoint.s…"   mysql               47 seconds ago      Up 47 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp


[root@hcss-ecs-2d95 ~]# docker exec -it xyb_mysql-server bash -p
root@1f06e6313fe4:/# mysql -u root -p -h 127.0.0.1
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit;
Bye
root@1f06e6313fe4:/# exit
exit
[root@hcss-ecs-2d95 ~]#

六、连接MySQL—phpMyAdmin管理工具

  • 编辑docker-compose.yml配置文件
version: '3'
services: 
  phpmyadmin: 
    image: phpmyadmin:latest
    container_name: web_phpmyadmin
    ports: 
      - 80:80
    environment: 
      - PMA_HOST=121.37.153.196
      - PMA_USER=root
      - PMA_PASSWORD=12345678
  • 启动phpmyAdmin管理工具
[root@hcss-ecs-2d95 ~]# docker-compose build

[root@hcss-ecs-2d95 ~]# docker-compose up -d

[root@hcss-ecs-2d95 ~]# docker-compose ps
NAME                IMAGE               COMMAND                  SERVICE             CREATED             STATUS
     PORTS
web_phpmyadmin      phpmyadmin:latest   "/docker-entrypoint.…"   phpmyadmin          14 seconds ago      Up 12 seconds       0.0.0.0:80->80/tcp
xyb_mysql-server    mysql:5.7.33        "docker-entrypoint.s…"   mysql               14 minutes ago      Up 14 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp

具体操作演示如下:

[root@hcss-ecs-2d95 ~]# docker-compose build
[+] Building 0.0s (0/0)                                                                        docker-container:default
[root@hcss-ecs-2d95 ~]# docker-compose up -d
[+] Running 19/19
 ✔ phpmyadmin 18 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                              164.5s
   ✔ 360eba32fa65 Pull complete                                                                                  140.8s
   ✔ 19de89a948b7 Pull complete                                                                                    2.0s
   ✔ be0f9df298ac Pull complete                                                                                  152.3s
   ✔ cda134203c51 Pull complete                                                                                    3.6s
   ✔ 299efc6dd925 Pull complete                                                                                   24.1s
   ✔ a2655c36e196 Pull complete                                                                                   25.9s
   ✔ 4b4b90a10a72 Pull complete                                                                                   27.5s
   ✔ 3e9322c2e08a Pull complete                                                                                   42.1s
   ✔ d146bc20b686 Pull complete                                                                                   44.8s
   ✔ a4cf3c661f4b Pull complete                                                                                   56.0s
   ✔ b5041d3c27cb Pull complete                                                                                   57.9s
   ✔ 16c26bb3efa9 Pull complete                                                                                   59.5s
   ✔ bfc8d5385a83 Pull complete                                                                                   61.3s
   ✔ daa3dd07c059 Pull complete                                                                                   64.9s
   ✔ 4ee1192433cd Pull complete                                                                                   66.8s
   ✔ d9d45f7ae99e Pull complete                                                                                   84.2s
   ✔ 9d47aac644f3 Pull complete                                                                                   86.1s
   ✔ f9290a237af1 Pull complete                                                                                   87.7s
WARN[0164] Found orphan containers ([root-mysql-run-5e8f0fa753d1 xyb_mysql-server root-mysql-run-bdafb44722d5]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
[+] Running 1/1
 ✔ Container web_phpmyadmin  Started                                                                               0.3s
[root@hcss-ecs-2d95 ~]# docker-compose ps
NAME                IMAGE               COMMAND                  SERVICE             CREATED             STATUS
     PORTS
web_phpmyadmin      phpmyadmin:latest   "/docker-entrypoint.…"   phpmyadmin          14 seconds ago      Up 12 seconds       0.0.0.0:80->80/tcp
xyb_mysql-server    mysql:5.7.33        "docker-entrypoint.s…"   mysql               14 minutes ago      Up 14 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp
[root@hcss-ecs-2d95 ~]#

image-20230917153037746

完结


更多推荐

elasticsearch基础篇

目录1.mysql与elasticsearch2.索引库操作2.1.mapping映射属性2.2.索引库的CRUD2.2.1.创建索引库和映射2.2.2.查询索引库2.2.3.修改索引库2.2.4.删除索引库2.2.5.总结3.文档操作3.1.新增文档3.2.查询文档3.3.删除文档3.4.修改文档3.4.1.全量修改

《C++API设计》读书笔记(3):模式

本章内容本章涵盖了一些与C++API设计相关的设计模式和惯用法。“设计模式(DesignPattern)”表示软件设计问题的一些通用解决方案。该术语来源于《设计模式:可复用面向对象软件的基础》(DesignPatterns:ElementsofReusableObject-OrientedSoftware)本书不会涵盖

使用Python进行健身手表数据分析

健身手表(FitnessWatch)数据分析涉及分析健身可穿戴设备或智能手表收集的数据,以深入了解用户的健康和活动模式。这些设备可以跟踪所走的步数、消耗的能量、步行速度等指标。本文将带您完成使用Python进行FitnessWatch数据分析的任务。FitnessWatch数据分析是健康和保健领域企业的重要工具。通过分

C 语言网络编程 — NAT 网关运行原理

目录文章目录目录NATNATGW实现原理NAT技术的类型NAT技术的基本原理NAT技术的连接跟踪功能NAPT技术的基本原理NAPT技术的连接跟踪功能NATServerNAT穿透LinuxiptablesNATSNATDNATNAPTNATNAT(NetworkAddressTranslation,网络地址转换)是一种L

基于Java+SpringBoot+vue前后端分离小徐影城管理系统设计实现

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌🍅文末获取源码联系🍅👇🏻精彩专栏推荐订阅👇🏻不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题

Java笔记:Java虚拟机的指令

1.字节码指令集1.1概述Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。比如:字节码助记符指令含义0x00nop什么都不做0x01aconst_null将null推送至栈顶0x02iconst

深度思考计算机网络面经之三

计算机网络.1说说你对tcp滑动窗口的理解TCP滑动窗口是TCP协议流量控制的一个重要机制。它的主要目的是确保发送方不会因为发送太多数据而使接收方不堪重负。下面我会详细地描述滑动窗口的概念:窗口的大小:滑动窗口的大小(以字节为单位)表示发送方在等待确认之前可以发送的最大数据量。该大小可以是固定的,但在现代的TCP实现中

【计算机基础知识】计算机的概念

欢迎来到我的:世界希望作者的文章对你有所帮助,有不足的地方还请指正,大家一起学习交流!目录前言1.计算机的概念计算机的发展历程知识拓展:计算机的特点计算机的分类2.计算机的应用计算机的发展趋势知识拓展:总结前言美国数学家香农说过:信息是能够消除不确定性的东西,也就是说信息能消除事物的不确定性,把不确定变成确定性;1.计

用户参与策略:商城小程序的营销推广

在现代数字化时代,商城小程序已成为许多企业推广产品和服务的重要工具。然而,要确保小程序的成功,不仅需要吸引用户访问,还需要采取有效的用户参与策略,以建立持久的客户关系。本文将深入探讨用户参与策略,以推广商城小程序并提高用户忠诚度。第一部分:用户参与的重要性建立品牌忠诚度用户参与是建立品牌忠诚度的关键。通过积极互动和参与

防火墙之firewall配置

firewall​CentOS7中防火墙已经由firewalld来管理,Centos7默认安装了firewalld。与iptables区别iptables仅能通过命令行进行配置;而firewalld提供了图形接口,类似windows防火墙的操作方式;iptables每一个单独更改意味着清除所有旧的规则,并从/etc/s

面试Java后端

sql五表联合查询面试八股JDK,JRE,JVM之间的区别JDK,Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。JRE(JavaRuntimeEnvironment),Java运行环境,用于运行lava的字节码文件。JRE中包括

热文推荐