华为云云服务器评测|在Docker环境下部署Mysql数据库

news2024/11/26 15:00:31

华为云云服务器评测|在Docker环境下部署Mysql数据库

  • 一、前言
    • 1.1 云耀云服务器L实例简介
    • 1.2 Mysql数据库简介
  • 二、本次实践介绍
    • 2.1 本次实践简介
    • 2.2 本次环境规划
  • 三、购买云耀云服务器L实例
    • 3.1 登录华为云
    • 3.2 购买云耀云服务器L实例
    • 3.3 查看云耀云服务器L实例状态
    • 3.4 重置服务器密码
  • 四、检查Docker环境
    • 4.1 查看弹性公网IP地址
    • 4.2 Xshell连接服务器
    • 4.3 检查Docker服务状态
  • 四、下载mysql:8.0镜像
  • 五、部署Mysql应用
    • 5.1 创建Mysql容器
    • 5.2 检查Mysql容器状态
    • 5.3 检查容器运行日志
  • 六、本地登录Mysql数据库
    • 6.1 进入mysql容器内
    • 6.2 本地登录连接mysql
    • 6.3 设置用户名和密码
  • 七、远程登录Mysql数据库
    • 7.1 放行安全组端口
    • 7.2 远程连接mysql数据库
    • 7.3 写入数据
    • 7.4 phpMyAdmin工具远程连接数据库

一、前言

1.1 云耀云服务器L实例简介

云耀云服务器L实例是新一代的轻量应用云服务器,专门为中小企业和开发者打造,提供开箱即用的便利性。云耀云服务器L实例提供丰富且经过严格挑选的应用镜像,可以一键部署应用,极大地简化了客户在云端构建电商网站、Web应用、小程序、学习环境以及各类开发测试等任务的过程。

在这里插入图片描述

1.2 Mysql数据库简介

MySQL是一种开源的关系型数据库管理系统(RDBMS),它采用了SQL (Structured Query Language) 作为其语言,允许用户通过SQL语句对数据进行操作和管理。MySQL由瑞典MySQL AB公司开发,现在是Oracle公司旗下的一个产品。MySQL是最流行的开源关系型数据库管理系统之一,广泛应用于Web应用程序的开发中。MySQL特点是速度快、安全性高、易于使用和管理,可以扩展性好。MySQL支持多种操作系统,包括Linux、Windows、Mac OS等。当前最新稳定版是MySQL 8.0。

二、本次实践介绍

2.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云耀云服务器L实例,使用的应用镜像为Portainer 2.18.4;
3.在Portainer平台上部署Mysql数据库。

2.2 本次环境规划

服务器类别应用镜像内网IP地址Docker版本Portainer版本Mysql版本
云耀云服务器L实例Docker可视化Portainer192.168.0.16824.0.42.18.48.0

三、购买云耀云服务器L实例

3.1 登录华为云

登录个人华为云账号,在搜索栏输入云耀云服务器L实例,按回车键确认,进入云耀云服务器L实例详情页。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.2 购买云耀云服务器L实例

在云耀云服务器L实例详情页,点击购买。

在这里插入图片描述

区域:华北—北京四;
应用镜像:Docker可视化-Portainer;
实例规格:2核2G/系统盘40G/峰值带宽 3Mbps/流量包400G;
实例名称:自定义即可,这里编辑为HECS-L-Portainer;
购买时长:1个月;

在这里插入图片描述

在这里插入图片描述

  • 检查配置,确认购买。

在这里插入图片描述

3.3 查看云耀云服务器L实例状态

查看购买的云耀云服务器L实例状态,处在正常运行中。

在这里插入图片描述

3.4 重置服务器密码

点击远程登录云耀云服务器L实例

在这里插入图片描述

在这里插入图片描述

重置密码,点击右侧的重置密码选项,需要进行身份验证,选择手机验证后,即可重置密码成功。

在这里插入图片描述

在这里插入图片描述

四、检查Docker环境

4.1 查看弹性公网IP地址

  • 复制弹性公网IP地址,远程连接服务器时使用。

在这里插入图片描述

4.2 Xshell连接服务器

在Xshell工具中,填写服务器弹性公网IP地址、账号密码信息,ssh连接远程服务器。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.3 检查Docker服务状态

由于云耀云服务器L实例使用的应用镜像为Portainer,Docker环境已经自动部署完毕,无需再重新配置Docker环境。

  • 检查Docker版本
root@hcss-ecs-f91c:~# docker -v
Docker version 24.0.4, build 3713ee1
  • 检查Docker服务状态
root@hcss-ecs-f91c:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-09-05 21:51:04 CST; 16h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 1061 (dockerd)
      Tasks: 88
     Memory: 519.8M
        CPU: 1min 956ms
     CGroup: /system.slice/docker.service

四、下载mysql:8.0镜像

从docker hub中拉取mysql:8.0镜像。

root@hcss-ecs-f91c:~# docker pull  mysql:8.0
8.0: Pulling from library/mysql
b193354265ba: Pull complete
14a15c0bb358: Pull complete
02da291ad1e4: Pull complete
9a89a1d664ee: Pull complete
a24ae6513051: Pull complete
5110d0b8df84: Pull complete
71def905d921: Pull complete
c29c4f8eb3c1: Pull complete
769af171cdaa: Pull complete
c1a0ba6abbff: Pull complete
5e7e1ae11403: Pull complete
Digest: sha256:f0e71f077bb27fe17b1b9551f75d1b35ad4dfe3a33c82412acf19684790f3a30
Status: Downloaded newer image for mysql:8.0
docker.io/library/mysql:8.0

五、部署Mysql应用

5.1 创建Mysql容器

使用docker-cli命令创建mysql容器。

docker run -d --name mysql_01 --restart always -v /data/mysql/:/var/lib/mysql -p 3641:3306 -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=data mysql:8.0

在这里插入图片描述

5.2 检查Mysql容器状态

检查mysql容器状态,确保容器正常启动。

root@hcss-ecs-f91c:~# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                     NAMES
c5962b2ee9f3   mysql:8.0                       "docker-entrypoint.s…"   12 minutes ago   Up 12 minutes   33060/tcp, 0.0.0.0:3641->3306/tcp, :::3641->3306/tcp                     mysql_01

5.3 检查容器运行日志

检查mysql容器运行日志。

在这里插入图片描述

六、本地登录Mysql数据库

6.1 进入mysql容器内

进入mysql容器内

docker exec -it mysql_01 /bin/bash

6.2 本地登录连接mysql

本地登录连接mysql数据库

bash-4.4# mysql -uroot -padmin
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.34 MySQL Community Server - GPL

Copyright (c) 2000, 2023, 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>

6.3 设置用户名和密码

  • 新增用户
create user 'admin'@'%' identified WITH mysql_native_password BY 'admin';
  • 设置用户权限
grant all on *.* to  'admin'@'%'    with GRANT OPTION;
flush privileges;

在这里插入图片描述

七、远程登录Mysql数据库

7.1 放行安全组端口

在云耀云服务器L实例的安全组配置管理中,放行入方向的3641端口。

在这里插入图片描述
在这里插入图片描述

7.2 远程连接mysql数据库

在其他Linux服务器的mysql客户端远程连接mysql数据库,其中-h后跟云耀云服务器L实例的弹性公网IP地址。

[root@server ~]# mysql -hxxxx -P 3641 -uadmin -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.34 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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>

在这里插入图片描述

7.3 写入数据

  • 创建数据库
create database school;
  • 查看新建数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| data               |
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
6 rows in set (0.00 sec)
  • 进入 school数据库
mysql> use school;
Database changed
  • 新建数据表,创建一个空数据表。
 CREATE TABLE IF NOT EXISTS `student`(
     `id` INT UNSIGNED AUTO_INCREMENT,
      `name` VARCHAR(100) NOT NULL,
    `gender` TINYINT NOT NULL,
     `age` INT UNSIGNED,
    `class` INT UNSIGNED,
      `score` INT UNSIGNED,
      PRIMARY KEY ( `id` )
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;

在这里插入图片描述

  • 向数据表student写入数据。
 insert into student ( name, gender, age, class,  score ) values ( "李一成", "1", "16", "1", "78" );
 insert into student ( name, gender, age, class,  score ) values ( "王萌", "0", "15", "2", "88" );
 insert into student ( name, gender, age, class,  score ) values ( "张磊", "1", "16", "4", "98" );

在这里插入图片描述

  • 查询数据表内容
mysql> select * from student;
+----+-----------+--------+------+-------+-------+
| id | name      | gender | age  | class | score |
+----+-----------+--------+------+-------+-------+
|  1 | 李一成    |      1 |   16 |     1 |    78 |
|  2 | 王萌      |      0 |   15 |     2 |    88 |
|  3 | 张磊      |      1 |   16 |     4 |    98 |
+----+-----------+--------+------+-------+-------+
3 rows in set (0.03 sec)

7.4 phpMyAdmin工具远程连接数据库

使用phpMyAdmin工具远程连接数据库,可以正常查询到数据表内容。

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/980049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows wsl2安装Ubuntu

wsl(Windows Subsystem for Linux)即适用于Windows的Linux子系统,是一个实现在Windows 10 / 11上运行原生Linux的技术。 wsl2 为其迭代版本,可以更好的在Windows上运行Linux子系统。 这里以 Windows 11 安装Ubuntu作为示例。 开启…

浅识java多线程

目录 一 进程和线程定义 二 创建线程的种类 (1)继承java.lang.Thread (2)实现java.lang.Runnable接口 三 多线程 (1)继承java.lang.Thread多线程 (2)实现java.lang.Runnable…

vmware fusion12共享文件夹到虚拟机window10

文章目录 一、window10虚拟机安装VMware Tools二、MAC配置共享文件夹三、使用 一、window10虚拟机安装VMware Tools vmware fusion—虚拟机----安装VMware Tools–一路下一步 确认安装 双击进行安装 一路下一步,傻瓜式安装 二、MAC配置共享文件夹 设置—系…

2023年高教社杯全国大学生数学建模竞赛参赛事项注意

MathClub数模资源,含专属思路 资源链接:点击这里获取众多数模资料、思路精讲、论文模板latex和word、学习书籍等 2023高教社杯数学建模国赛–赛前准备 一年一度的数学建模国赛要来啦!!!小编仔细阅读了比赛官方网站上…

【Java】线程都有哪几种状态

文章目录 前言传统线程模型(操作系统)中线程状态Java线程中的状态线程的运行流程 前言 首先我们要知道,在传统(操作系统)的线程模型中线程被分为五种状态,在java线程中,线程被分为六种状态。 …

使用客户支持自动化,您的电子商务收益稳了

经营电子商务业务涉及处理各种任务,从营销和库存管理到客户支持和数据分析。这些职责的复杂性可能是压倒性的,即使有一个专门的团队。 聊天机器人可以通过指导您的客户完成购买过程并回答他们有关产品的问题来提供更好的体验。例如SaleSmartly&#xff…

房地产推广传单制作攻略,打造让人惊艳的电子传单

随着互联网的发展,传统的纸质传单已经逐渐被电子版传单所取代。电子版传单不仅可以节省成本,还可以更好地展示房产信息。在传统的设计软件中制作电子版传单需要一定的门槛,但是现在有了乔拓云网的后台,设计电子版房产H5传单变得简…

Android——数据存储(二)(二十二)

1. SQLite数据库存储 1.1 知识点 (1)了解SQLite数据库的基本作用; (2)掌握数据库操作辅助类:SQLiteDatabase的使用; (3)可以使用命令操作SQLite数据库; …

RabbitMQ:hello结构

1.在Linux环境上面装入rabbitMQ doker-compose.yml version: "3.1" services:rabbitmq:image: daocloud.io/library/rabbitmq:managementrestart: alwayscontainer_name: rabbitmqports:- 6786:5672- 16786:15672volumes:- ./data:/var/lib/rabbitmq doker-compos…

Vue框架--Vue中的样式绑定

1.Vue绑定class样式属性(内部样式) 这里我们介绍三种Vue关于绑定class属性的操作。 ①.字符串写法:适用于:样式的类名不确定,需要动态指定 ②.数组写法:适用于:要绑定的样式个数不确定、名字也不确定 ③.对象写法:

vscode 调试debug rust代码的时候,中文乱码的解决办法

上次也是同样的问题,解决了。今天又遇到,我还以为是项目代码用了什么高深的地方,其实用chcp 65001,都可以解决。 一种解决方法是: 但建议不要用这种方法,因为会引起其他软件不能用(或者出问题…

山西电力市场日前价格预测【2023-09-07】

日前价格预测 预测明日(2023-09-07)山西电力市场全天平均日前电价为331.72元/MWh。其中,最高日前电价为461.61元/MWh,预计出现在19: 30。最低日前电价为254.50元/MWh,预计出现在12: 45。 价差方向预测 1: 实…

stm32同芯片但不同flash工程更换Device出现报错

目录 1. 问题描述2. 解决方案 1. 问题描述 stm32同芯片但不同flash工程更换Device出现报错 2. 解决方案 更换Device,我是从ZE换为C8: 把这个从HD更换为MD 解决!

3D点云处理:Opencv Pcl实现深度图转点云(附源码)

文章目录 0. 测试效果1. 代码实现文章目录:3D视觉个人学习目录微信:dhlddxB站: Non-Stop_0. 测试效果 处理结果1. 代码实现 文章中提供的深度图像,深度图像一般以.tiff和.png保存,可以通过Opencv中的

Echarts图表跟随父容器的变化自适应

如果页面中有多个图表 隐藏/展开左边侧边栏echarts图表自适应 <div class"line"><div class"title">制冷站关键参数</div><div id"chartLine1" style"width: 100%;height:85%;"></div></div><…

生成树STP中的概念

在数据结构中&#xff0c;有一个方法叫做最小生成树。有环的我们常称为图。将图中的环破了&#xff0c;就生成了树。在计算机网络中&#xff0c;生成树的算法叫作 STP&#xff0c;全称 Spanning Tree Protocol。 Root Bridge&#xff0c;也就是根交换机。这个比较容易理解&…

卖家福利!第三方物流兼容亚马逊日本站运输管理功能!

亚马逊日本站发布公告称外部解决方案提供商Redo Bong LLC提供的库存和运输管理应用程序 “maru9”中添加了与亚马逊 “Marketplace Shipping Service”兼容的运输管理功能&#xff0c;以下是公告内容&#xff1a; 外部解决方案提供商Redo B…

怎么解决期权手续贵的问题?

在开通50ETF期权交易权限之前&#xff0c;券商可能会要求您参加相关的培训或考试&#xff0c;以确保您了解ETF期权交易的基本概念和交易规则&#xff0c;特别是期权手续费的问题&#xff0c;在你开之前&#xff0c;需要咨询协商价格&#xff0c;符合你的心理预期再去开通&#…

【LeetCode算法系列题解】第61~65题

CONTENTS LeetCode 61. 旋转链表&#xff08;中等&#xff09;LeetCode 62. 不同路径&#xff08;中等&#xff09;LeetCode 63. 不同路径 II&#xff08;中等&#xff09;LeetCode 64. 最小路径和&#xff08;中等&#xff09;LeetCode 65. 有效数字&#xff08;困难&#xff…

线程中的join()、wait() 和 notify()详解及练习题

一、join() Thread 类提供了 join() 方法&#xff0c;用于等待当前线程所调用的其他线程执行完毕。 1、当一个线程调用另一个线程的 join() 方法时&#xff0c;它会被阻塞&#xff0c;直到被调用的线程执行完毕或达到指定的超时时间。 比如&#xff1a;当主线程main中调用了…