服务器脚本推荐,yum更新阿里镜像源、安装Docker、使用Docker安装MySQL服务

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 服务器脚本推荐,yum更新阿里镜像源、安装Docker、使用Docker安装MySQL服务

前言

最近总是有粉丝找莫提帮忙搭建一下服务器的环境,而且都是新服务器,也就是刚刚从 XX云 上购买创建的。最近打算多做一些关于服务器的视频,比如搭建个人网站搭建Java服务搭建MySQL服务配置反向代理 …

然后周末无聊,就写了三个脚本,非常的方便实用,只需要一行命令就可以实现下面的功能,但服务器一定要是CentOS7的系统才能使用。

  1. 更换yum源为阿里源,解决yum安装/更新速度慢的问题
  2. 安装Docker并配置镜像加速器
  3. 使用Docker安装MySQL

使用

获取脚本可在我的公众号【爱学习的莫提】,后台回复【脚本

之后你会得到三个文件,如下图所示:

之后你需要将这三个文件上传的服务器(一定是CentOS7

注意:上传服务器之后需要赋予脚本执行权限:

chmod -R 777 *.sh

之后只需要分别执行三个脚本就可以了

./ali-image.sh
./docker-install.sh
./mysql-install.sh

当然这几个脚本也是可以加一些参数的,具体使用可以往下接着看。

当然在这里声明一下:鄙人能力有限,也没有专门学过Shell脚本,互相学习,欢迎大家在评论区交流!

ali-image.sh

官网下载的CentOS的yum源不是国内镜像,这样会导致yum在线安装及更新速度很慢。这时候需要将yum源设置为国内镜像站点,提升速度。国内主要开源的开源镜像站点应该是网易和阿里云了。

这个脚本可以帮你把你的服务器的yum镜像源自动配置为国内阿里的镜像,并完成原有配置的备份。

使用起来也是非常方便,在脚本所在目录执行:./ali-image.sh 即可。

执行效果

脚本内容

如果看不懂脚本可以直接跳过

#!/bin/bash
# description: 更换Centos7默认镜像源为阿里源
# author: 莫提
cd /etc/yum.repos.d/
# 备份原配置
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载阿里镜像配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
echo " "
echo "=================="
echo "更换阿里镜像源成功"
echo "=================="
echo " "
# 重新生成缓存
yum makecache

docker-install.sh

在服务器上安装Docker还是稍微有一丢丢麻烦,首先要安装一些基本的依赖,如果重新安装还需要卸载和删除一些指定的文件,如果不配置镜像加速器的话,使用docker pull也会非常的慢,包括将Docker设置为开启自启等。这些复杂的操作加一起就更加的繁琐了。

所以我写了一个脚本来拯救上面的这些问题,只需要执行一行命令就可以完成上面的诸多操作。

使用起来也是非常方便,在脚本所在目录执行:./docker-install.sh 即可。

如果你之前安装过Docker,那么你需要在执行脚本的使用使用-r参数即可:./docker-install.sh -r,这样在安装的时候就可先去卸载已有的Docker并重新安装。

执行效果

脚本内容

如果看不懂脚本可以直接跳过

#!/bin/bash
# description: CentOS7安装Docker
# author: 莫提
# 卸载旧版本
if [ -n "$1" ]; then
   # 校验传入参数 
    if [ "$1" = "-r" ]
    then
  echo "开始卸载已有Docker服务..."
  systemctl stop docker
  yum -y remove docker-ce
  rm -rf /var/lib/docker
  yum -y remove docker docker-common docker-selinux docker-engine
    else
        echo " "
  echo "=================================="
  echo "=============安装失败============="
  echo "=================================="
  echo "非法参数:$1"
  echo "=================================="
  echo "首次安装:./docker-install.sh"
  echo "重新安装:./docker-install.sh -r"
  echo "=================================="
  echo " "
    fi
fi
echo "开始安装Docker服务..."
# 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件索引
yum makecache fast
# 安装Docker-ce
yum -y install docker-ce
# 启动Docker
systemctl start docker
# 开机自启
systemctl enable docker
# 配置Docker镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://c2yf9ia3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
echo " "
echo "=================================="
echo "=============安装成功============="
echo "=================================="
echo " "
docker ps

mysql-install.sh

最后一个脚本是使用Docker来搭建MySQL服务,一般来说常规套路是先去search、然后pull、最后再run,但是run的时候要加一大堆参数,非常的不好记,所以我也封装成了脚本,使用起来美滋滋。

这个脚本支持最多携带三个参数:

  • -v:小写v,表示MySQL的版本,比如 5.75.58.0 … 只要是官方存在的版本都行,如果不加这个参数,默认为 5.7
  • -p:小写p,表示暴露的端口,如果不加这个参数,默认为 3306
  • -P:大写P,表示MySQL的root用户的默认密码,如果不加这个参数,默认为 123456

这三个参数可以携带任意数量,并且不分先后顺序。

./mysql-install.sh -v5.5 -p3305 -P123321
./mysql-install.sh -p3305 -v5.5 
./mysql-install.sh -P000111

执行效果

脚本内容

如果看不懂脚本可以直接跳过

#!/bin/bash
# description: 使用Docker安装Mysql5.7
# author: 莫提
version=5.7
password=123456
port=3306
if [[ $1 == -v* ]];then
  version=${1:2}
elif [[ $1 == -P* ]];then
  password=${1:2}
elif [[ $1 == -p* ]];then
  port=${1:2}
fi
if [[ $2 == -v* ]];then
  version=${2:2}
elif [[ $2 == -P* ]];then
  password=${2:2}
elif [[ $2 == -p* ]];then
  port=${2:2}
fi
if [[ $3 == -v* ]];then
  version=${3:2}
elif [[ $3 == -P* ]];then
  password=${3:2}
elif [[ $3 == -p* ]];then
  port=${3:2}
fi
echo " "
echo "============================"
echo "=======开始安装MySQL========"
echo "============================"
echo "Version:$version"
echo "Password:$password"
echo "Port:$port"
echo "============================"
echo " "
# 拉去镜像
docker pull mysql:$version
# 运行镜像
docker run --restart=always -p $port:3306 --name mysql$version -e MYSQL_ROOT_PASSWORD=$password -d mysql:$version
echo "============================"
echo "=======安装MySQL成功========"
echo "============================"
docker ps


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
62 12
|
4月前
|
Docker 容器
Docker安装及镜像源修改
本文介绍了Docker的安装过程和如何修改Docker镜像源以加速下载。包括更新系统包、安装所需软件包、设置yum源、安装Docker以及验证安装是否成功。接着,提供了修改Docker镜像源的步骤,包括创建配置文件、编辑配置文件以设置镜像加速地址,并提供了几个常用的国内镜像源地址。最后,通过重启Docker服务和检查配置是否生效来完成镜像源的修改。
Docker安装及镜像源修改
|
3月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
98 1
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
121 3
|
4月前
|
存储 关系型数据库 MySQL
使用Docker快速部署Mysql服务器
本文介绍了如何使用Docker快速部署MySQL服务器,包括下载官方MySQL镜像、启动容器、设置密码、连接MySQL服务器以及注意事项。
659 18
|
Docker 容器
如何使用Docker构建运行时间较长的脚本
本文讲的是如何使用Docker构建运行时间较长的脚本,【编者的话】在工作中,可能会碰到一些会运行很长时间的脚本,这些脚本构建起来会非常麻烦,可能在构建一半后突然失败,我们又得重头再来。文章介绍了如何使用Docker解决这类问题。
1015 0
|
2天前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
139 93
|
1月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
236 77
|
5天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
52 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结