目录
[一 配置服务器环境](#一 配置服务器环境)
[1.1 配置yum](#1.1 配置yum)
[1.1.1 更新yum包](#1.1.1 更新yum包)
[1.1.2 yum命令](#1.1.2 yum命令)
[1.2 配置docker](#1.2 配置docker)
[1.2.1 查看是否安装过docker rpm包](#1.2.1 查看是否安装过docker rpm包)
[1.2.2 安装docker](#1.2.2 安装docker)
[1.2.3 启动docker](#1.2.3 启动docker)
[1.2.4 设置Docker开机自启动](#1.2.4 设置Docker开机自启动)
[1.2.5 查看Docker是否运行](#1.2.5 查看Docker是否运行)
[1.2.6 查看可用容器](#1.2.6 查看可用容器)
[1.2.7 运行容器](#1.2.7 运行容器)
[1.2.8 暂停容器](#1.2.8 暂停容器)
[1.2.9 如何重启容器](#1.2.9 如何重启容器)
[1.2.10 停止容器](#1.2.10 停止容器)
[1.2.11 删除容器](#1.2.11 删除容器)
[1.3 安装.NetCore SDK6.0](#1.3 安装.NetCore SDK6.0)
[1.3.1 安装包配置](#1.3.1 安装包配置)
[1.3.2 执行安装](#1.3.2 执行安装)
[1.3.3 验证Net6的安装环境](#1.3.3 验证Net6的安装环境)
[1.4 安装MySql](#1.4 安装MySql)
[1.4.1 查看系统版本](#1.4.1 查看系统版本)
[1.4.2 卸载MySql](#1.4.2 卸载MySql)
[1.4.3 安装MySql](#1.4.3 安装MySql)
[1.4.4 启动MySql](#1.4.4 启动MySql)
[1.4.5 开启MySql端口](#1.4.5 开启MySql端口)
一 配置服务器环境
1.1 配置yum
在配置yum之前,我们需要先了解yum是什么,yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。
yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。
yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
它能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
1.1.1 更新yum包
sudo yum update
安装yum-utils 用来管理yum源代
sudo yum install -y yum-utils
1.1.2 yum命令
首先用yum来升级软件,yum的操作大都须有超级用户的权限,当然可以用sudo。装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。
安装命令
yum install xxx
删除命令
yum remove xxx
其他常用命令
1.yum check-update 列出所有可更新的软件清单
2.yum update 安装所有更新软件
3.yum -y install <package_name> 安装指定的软件
4.yum update <package_name> 更新指定的软件
5.yum list <package_name> 不加<package_name>列出所有可安裝的软件清单,加了列出指定的
6.yum -y remove <package_name> 删除软件
7.yum search <package_name> 查找软件
8.yum list installed 列出所有已安装的软件包
9.yum list extras 列出所有已安装但不在 Yum Repository 內的软件包
10.yum info <package_name> 不加<package_name>列出所有软件包的信息,加了列出指定的
11.yum provides <package_name> 列出软件包提供哪些文件
12.yum clean packages 清除缓存目录(/var/cache/yum)下的软件包
13. yum clean all 清除缓存目录(/var/cache/yum)下的软件包及旧的headers
1.2 配置docker
1.2.1 查看是否安装过docker rpm包
yum list installed | grep docker
如果之前安装过可以不用安装,如果想重新安装也可以,执行卸载老版本docker以及相关依赖即可
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
1.2.2 安装docker
yum -y install docker-ce
如果出现 No package docker-ce available 错误,这里我们只需要设置稳定的仓库,添加yum源即可。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
然后再执行安装Docker命令进行安装就可以了 。
1.2.3 启动docker
sudo systemctl start docker
1.2.4 设置Docker开机自启动
sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
1.2.5 查看Docker是否运行
systemctl status docker
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2023-12-12 16:54:00 CST; 34s ago
Docs: https://docs.docker.com
Main PID: 26847 (dockerd)
CGroup: /system.slice/docker.service
└─26847 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Dec 12 16:53:59 iZ2ze6on3jy8afby5yaj0bZ systemd[1]: Starting Docker Application Container Engine...
Dec 12 16:53:59 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:53:59.341325810+08:00" le...up"
Dec 12 16:53:59 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:53:59.490260781+08:00" le...t."
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.172727029+08:00" le...ng"
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.261938793+08:00" le...e."
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.287876345+08:00" le...0.7
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.287988480+08:00" le...on"
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ dockerd[26847]: time="2023-12-12T16:54:00.316181097+08:00" le...ck"
Dec 12 16:54:00 iZ2ze6on3jy8afby5yaj0bZ systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
1.2.6 查看可用容器
若要列出正在运行的容器,请使用 docker ps
命令
docker ps -a
需要查看前述输出中的以下三个项
-
IMAGE 列中列出的映像名称;在此示例中为 tmp-ubuntu: latest。 请注意,你可以从同一映像创建多个容器。 这是一种强大的管理功能,可用于在解决方案中实现缩放。
-
STATUS 列中列出的容器状态。 在本例中,一个容器正在运行,一个容器已退出。 容器的状态通常是容器运行状况的第一个指标。
-
NAMES 列中列出的容器名称。 除了第一列中的容器 ID 之外,容器还会接收名称。 在本例中,由于你没有为每个容器显式提供名称,因此,Docker 为容器提供了随机名称。 若要使用
--name
标志为容器提供显式名称,请使用run
命令。
为什么要为容器命名
借助此功能,可运行同一映像的多个容器实例。 容器名称是唯一的,这意味着如果指定了某一名称,则不能重复使用该名称来创建新的容器。 重复使用特定名称的唯一方法是删除之前的容器
1.2.7 运行容器
若要启动容器,请使用 docker run
命令。 只需按名称或 ID 指定要运行的映像,即可从映像启动容器。 通过此方式启动的容器提供交互式体验
docker run -d tmp-ubuntu
1.2.8 暂停容器
若要暂停容器,请运行 docker pause
命令
docker pause happy_wilbur
1.2.9 如何重启容器
若要重启容器,请运行 docker restart
命令
docker restart happy_wilbur
1.2.10 停止容器
若要停止正在运行的容器,请运行 docker stop
命令
docker stop happy_wilbur
1.2.11 删除容器
若要删除容器,请运行 docker rm
命令
docker rm happy_wilbur
1.3 安装.NetCore SDK6.0
1.3.1 安装包配置
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
1.3.2 执行安装
sudo yum install dotnet-sdk-6.0
1.3.3 验证Net6的安装环境
dotnet --info
1.4 安装MySql
1.4.1 查看系统版本
cat /etc/redhat-release
1.4.2 卸载MySql
查看系统是否已经安装过MySql
rpm -qa | grep mysql
卸载MySql
rpm -e --nodeps 软件名
查找MySql文件,并将其删除
find / -name mysql
whereis mysql
将find
命令和whereis
命令查询到的mysql文件全部删除
rm -rf 查询到的mysql路径
删除mysql配置文件
rm /etc/my.cnf
确认是否全部删除mysql
rpm -qa | grep -i mysql
查看是否有安装 mariadb,该软件与 MySQL 数据库有冲突,需要手动卸载
rpm -qa | grep mariadb
移除MySql相关的软件
rpm -e --nodeps community-common-8.0.31-1.el8.x86_6
如果出现包移除失败时,error: package ---nodeps is not installed
看了一下 rpm的参数表,发现这个 nodeps 应该是 no depends 的缩写,于是乎,有点儿顿悟,莫非是要删除的模块没有依赖?
去掉这个参数
rpm -e mysql-community-common-8.0.31-1.el8.x86_6
1.4.3 安装MySql
安装MySql需要在MySql官网查看Mysql安装包。找到MySQL Community Server
选择 MySQL 的版本
注意 MySQL 的版本需要与 Linux 的版本对应上
centos7 系统对应的 MySQL 是 el7
centos8 系统对应的 MySQL 是 el8
一般情况下,直接选择第一个安装包即可,第一个安装包的版本会不定时的更新,与本文所用的安装包有略微的差别,但是并不影响具体的使用
下载安装包
cd /usr/local
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar
等待下载完成,查看下载后的文件
ll
解压
解压之后会有很多包产生,为了方便查看,将其解压到 /usr/local/mysql_package
里面
mkdir /usr/local/mysql_package
cd /usr/local/mysql_package
tar -xvf /usr/local/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql_package
使用rpm安装
必须按照顺序执行命令,否则会出现依赖错误的报错
rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm
常见错误总结
未按照规定顺序安装软件
按照顺序安装即可解决
openssl 缺失
安装
openssl-devel
即可解决
rpm -ivh mysql-community-devel-8.0.31-1.el8.x86_64.rpm
使用 yum install openssl-devel -y
安装 openssl-devel
yum install openssl-devel -y
perl 和 libaio 缺失
安装
prel
和libaio
即可解决
yum list perl
yum install -y perl.x86_64
查看与 libaio 相关的软件
yum list libaio
安装
yum install -y libaio*
libc.so.6 缺失
大概率是因为下载的 MySQL版本与 Linux 版本对应不上,可以检查一下 MySQL 压缩包后缀名里面的参数是否与系统版本匹配
- centos7 系统对应的 MySQL 是 el7
- centos8 系统对应的 MySQL 是 el8
1.4.4 启动MySql
启动MySql服务
systemctl start mysqld
获取首次启动生成的随机密码
sudo grep 'temporary password' /var/log/mysqld.log
登录mySql并修改密码
mysql -uroot -p
更新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPwd123';
开启允许root账户远程连接
# 切换使用mysql数据库
use mysql;
# 开启远程
update user set host='%' where user='root';
# 刷新权限
flush privileges;
退出mysql
quit;
1.4.5 开启MySql端口
开启防火墙端口允许访问
#查看防火墙状态
systemctl status firewalld
#查看开放的端口
firewall-cmd --query-port=3306/tcp
#添加端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重载防火墙
firewall-cmd --reload
#再次查看端口是否已经开放
firewall-cmd --query-port=3306/tcp
systemctl status firewalld 查看防火墙状态
firewall-cmd --query-port=3306/tcp 查看开放的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent 添加端口
firewall-cmd --reload 重载防火墙
firewall-cmd --query-port=3306/tcp 再次查看端口是否已经开放
设置mySql开启自启
systemctl enable mysqld