如何在自己的云服务器上部署mysql

如何在自己的云服务器上部署mysql

前言:

我是用的是阿里云服务器,我的服务器上安装的系统是Ubuntu 20.04,一下内容都是居于此撰写。

前期准备工作

远程链接自己的云服务器,这里给大家推荐一个好用的软件:FinalShell

**下载地址:**https://www.hostbuf.com/t/988.html

FinalShell 是一款集远程终端管理、文件传输、远程桌面、网络诊断等功能于一体的跨平台运维工具。它被广泛应用于云服务器管理和开发运维场景,特别是在需要频繁连接和操作 Linux 服务器时,FinalShell 提供了简单高效的工具支持。

FinalShell 的典型应用场景

1. 云服务器管理
  • 运维人员通过 FinalShell 管理云服务器(如阿里云、腾讯云、AWS 等),实现远程连接、部署应用、查看日志、调试问题等操作。
2. 文件部署
  • 开发人员通过 FinalShell 将本地开发的文件、脚本上传到远程服务器,或将服务器上的日志文件下载到本地。
3. 远程运维和监控
  • 运维工程师通过 FinalShell 的性能监控功能,实时查看服务器资源使用情况,并快速排查问题。
4. 网络调试
  • 网络工程师使用 FinalShell 测试服务器与其他设备之间的网络连通性,排查网络问题。
5. 多服务器管理
  • 当需要同时管理多个服务器时,可以使用 FinalShell 的多窗口和会话管理功能,高效地切换和操作。

1、安装Docker

你可以在你的云服务其上通过以下的命令来安装Docker:

bash 复制代码
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list'
sudo apt update
sudo apt install docker-ce

外链图片转存中...(img-5otpyLvR-1734706751749)

很好,现在依赖软件已经安装完成,接下来可以继续安装 Docker:

1. 添加 Docker 的 GPG 密钥

运行以下命令,确保可以验证 Docker 软件包的签名:

bash 复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

2. 添加 Docker 软件包源

添加 Docker 官方的 APT 软件包源:

bash 复制代码
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. 更新 APT 软件包索引

更新软件包索引,以使系统识别新的 Docker 源:

bash 复制代码
sudo apt update

4. 安装 Docker CE

运行以下命令安装 Docker 社区版(CE):

bash 复制代码
sudo apt install docker-ce docker-ce-cli containerd.io

5. 验证 Docker 是否安装成功

完成安装后,可以通过以下命令检查 Docker 是否已正确安装:

bash 复制代码
docker --version

如果显示 Docker 的版本号,说明 Docker 已安装成功。

6. 测试 Docker 是否正常运行

运行以下命令拉取并运行一个测试容器,以确保 Docker 正常工作:

bash 复制代码
sudo docker run hello-world

正确情况下,你会在页面看到如下内容:

但是如果你没有给安装hello world 镜像的话,是无法输出的。

如果你在第五步检验docker没有安装成功:可能是由于直接连接 Docker 官方源失败,可以使用国内的 Docker 镜像源(比如阿里云源)进行安装:

1、安装 Docker 的国内镜像版本

运行以下命令安装 Docker 的 docker.io 包(国内源):

bash 复制代码
sudo apt update
sudo apt install docker.io -y

这个命令会直接从 Ubuntu 官方仓库或镜像安装 docker.io 包。安装完成后,检查 Docker 是否可用:

bash 复制代码
docker --version

如果返回 Docker 的版本号,则说明安装成功。

2、启动 Docker 服务

安装完成后,需要启动并设置 Docker 服务开机自启:

bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker

然后测试是否能运行:

bash 复制代码
sudo docker run hello-world

7、安装hello world 镜像


1. 手动拉取 hello-world 镜像

运行以下命令来手动下载测试镜像:

bash 复制代码
sudo docker pull hello-world

2. 再次运行测试容器

拉取成功后,再次运行以下命令测试 Docker 是否工作正常:

bash 复制代码
sudo docker run hello-world

如果一切正常,你应该会看到类似以下的输出:

复制代码
Hello from Docker!
This message shows that your installation appears to be working correctly.
...

3. 如果无法拉取镜像

如果在拉取镜像时遇到网络问题,可以尝试配置国内镜像加速器。

配置 Docker 镜像加速器(推荐阿里云)

运行以下命令创建或编辑 Docker 的配置文件:

bash 复制代码
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

在文件中添加以下内容(以阿里云加速器为例):

外链图片转存中...(img-uGEYLoob-1734706751751)

json 复制代码
{
  "registry-mirrors": ["https://qlbp0ohw.mirror.aliyuncs.com"]
}

在FinalShell中,保存并退出(按 Ctrl+O,然后按 Enter,最后按 Ctrl+X)。

重启 Docker 服务

应用新配置后,重启 Docker 服务:

bash 复制代码
sudo systemctl restart docker

然后再次尝试运行测试镜像:

bash 复制代码
sudo docker run hello-world

一般情况下,是可以成功的。

2、拉取MySQL镜像

接下来,您需要从Docker Hub拉取MySQL镜像。执行以下命令:

bash 复制代码
sudo docker pull mysql:latest

要在Ubuntu 20.04上使用Docker安装MySQL,可以按照以下步骤操作:

3. 运行MySQL容器

一旦镜像下载完成,可以启动一个MySQL容器。假设您希望使用root用户,并设置密码为your_password,可以运行以下命令:

bash 复制代码
sudo docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=your_password -d mysql:latest

4. 查看容器运行状态

您可以通过以下命令查看MySQL容器是否正在运行:

bash 复制代码
sudo docker ps

5. 连接到MySQL容器

要进入MySQL容器,您可以使用以下命令:

bash 复制代码
sudo docker exec -it mysql-container mysql -u root -p

系统会提示您输入密码,输入您在运行容器时设置的MYSQL_ROOT_PASSWORD

6. (可选)配置MySQL端口映射

如果您希望从外部访问MySQL数据库,可以在运行容器时指定端口映射。例如:

bash 复制代码
sudo docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 -d mysql:latest

这将容器的3306端口映射到主机的3306端口,使您可以通过主机的IP地址访问MySQL。

7. 停止和删除容器

如果您不再需要该MySQL容器,可以通过以下命令停止和删除容器:

bash 复制代码
sudo docker stop mysql-container
sudo docker rm mysql-container

-name mysql-container -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 -d mysql:latest

复制代码
这将容器的3306端口映射到主机的3306端口,使您可以通过主机的IP地址访问MySQL。

### 7. 停止和删除容器

如果您不再需要该MySQL容器,可以通过以下命令停止和删除容器:

```bash
sudo docker stop mysql-container
sudo docker rm mysql-container
相关推荐
神仙别闹7 分钟前
基于Java+MySQL 实现(Web)日程管理系统
java·前端·mysql
Harbor Lau31 分钟前
Linux常用中间件命令大全
linux·运维·中间件
苹果酱056732 分钟前
2020-06-23 暑期学习日更计划(机器学习入门之路(资源汇总)+概率论)
java·vue.js·spring boot·mysql·课程设计
漫谈网络1 小时前
基于 Netmiko 的网络设备自动化操作
运维·自动化·netdevops·netmiko
Lucky GGBond1 小时前
MySQL 报错解析:SQLSyntaxErrorException caused by extra comma before FROM
数据库·mysql
꧁坚持很酷꧂1 小时前
Linux Ubuntu18.04下安装Qt Craeator 5.12.9(图文详解)
linux·运维·qt
Java水解1 小时前
Mysql之存储过程
后端·mysql
漫步向前1 小时前
mysql主备延迟
mysql
GarfieldFine2 小时前
MySQL索引使用一定有效吗?如何排查索引效果?
数据库·mysql
cypking2 小时前
mysql 安装
数据库·mysql·adb