如何在自己的云服务器上部署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
相关推荐
cui_win1 小时前
【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
linux·运维·网络
梦在深巷、1 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
风清再凯1 小时前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
深圳安锐科技有限公司1 小时前
深圳安锐科技发布国内首款4G 索力仪!让斜拉桥索力自动化监测更精准高效
运维·安全·自动化·自动化监测·人工监测·桥梁监测·索力监测
猫头虎1 小时前
猫头虎 AI工具分享:一个网页抓取、结构化数据提取、网页爬取、浏览器自动化操作工具:Hyperbrowser MCP
运维·人工智能·gpt·开源·自动化·文心一言·ai编程
Johny_Zhao2 小时前
Ubuntu系统安装部署Pandawiki智能知识库
linux·mysql·网络安全·信息安全·云计算·shell·yum源·系统运维·itsm·pandawiki
祁思妙想2 小时前
八股学习(三)---MySQL
数据库·学习·mysql
惊骇世俗王某人3 小时前
1.MySQL之如何定位慢查询
数据库·mysql
cocologin3 小时前
RIP 技术深度解析
运维·网络·网络协议
cv高级工程师YKY3 小时前
SRE - - PV、UV、VV、IP详解及区别
大数据·服务器·uv