目录
一 配置服务器环境
1.1 配置yum
1.1.1 更新yum包
1.1.2 yum命令
1.2 配置docker
1.2.1 查看是否安装过docker rpm包
1.2.2 安装docker
1.2.3 启动docker
1.2.4 设置Docker开机自启动
1.2.5 查看Docker是否运行
1.2.6 查看可用容器
1.2.7 运行容器
1.2.8 暂停容器
1.2.9 如何重启容器
1.2.10 停止容器
1.2.11 删除容器
1.3 安装.NetCore SDK6.0
1.3.1 安装包配置
1.3.2 执行安装
1.3.3 验证Net6的安装环境
1.4 安装MySql
1.4.1 查看系统版本
1.4.2 卸载MySql
1.4.3 安装MySql
1.4.4 启动MySql
1.4.5 开启MySql端口
在配置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包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
sudo yum update
安装yum-utils 用来管理yum源代
sudo yum install -y yum-utils
首先用yum来升级软件,yum的操作大都须有超级用户的权限,当然可以用sudo。装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。
安装命令
yum install xxx
删除命令
yum remove xxx
其他常用命令
1.yum check-update 列出所有可更新的软件清单
2.yum update 安装所有更新软件
3.yum -y install 安装指定的软件
4.yum update 更新指定的软件
5.yum list 不加列出所有可安裝的软件清单,加了列出指定的
6.yum -y remove 删除软件
7.yum search 查找软件
8.yum list installed 列出所有已安装的软件包
9.yum list extras 列出所有已安装但不在 Yum Repository 內的软件包
10.yum info 不加列出所有软件包的信息,加了列出指定的
11.yum provides 列出软件包提供哪些文件
12.yum clean packages 清除缓存目录(/var/cache/yum)下的软件包
13. yum clean all 清除缓存目录(/var/cache/yum)下的软件包及旧的headers
yum list installed | grep docker
如果之前安装过可以不用安装,如果想重新安装也可以,执行卸载老版本docker以及相关依赖即可
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
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命令进行安装就可以了 。
sudo systemctl start docker
sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
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.sockDec 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.
若要列出正在运行的容器,请使用 docker ps
命令
docker ps -a
需要查看前述输出中的以下三个项
IMAGE 列中列出的映像名称;在此示例中为 tmp-ubuntu: latest。 请注意,你可以从同一映像创建多个容器。 这是一种强大的管理功能,可用于在解决方案中实现缩放。
STATUS 列中列出的容器状态。 在本例中,一个容器正在运行,一个容器已退出。 容器的状态通常是容器运行状况的第一个指标。
NAMES 列中列出的容器名称。 除了第一列中的容器 ID 之外,容器还会接收名称。 在本例中,由于你没有为每个容器显式提供名称,因此,Docker 为容器提供了随机名称。 若要使用 --name
标志为容器提供显式名称,请使用 run
命令。
为什么要为容器命名
借助此功能,可运行同一映像的多个容器实例。 容器名称是唯一的,这意味着如果指定了某一名称,则不能重复使用该名称来创建新的容器。 重复使用特定名称的唯一方法是删除之前的容器
若要启动容器,请使用 docker run
命令。 只需按名称或 ID 指定要运行的映像,即可从映像启动容器。 通过此方式启动的容器提供交互式体验
docker run -d tmp-ubuntu
若要暂停容器,请运行 docker pause
命令
docker pause happy_wilbur
若要重启容器,请运行 docker restart
命令
docker restart happy_wilbur
若要停止正在运行的容器,请运行 docker stop
命令
docker stop happy_wilbur
若要删除容器,请运行 docker rm
命令
docker rm happy_wilbur
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-6.0
dotnet --info
cat /etc/redhat-release
查看系统是否已经安装过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
安装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
启动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;
开启防火墙端口允许访问
#查看防火墙状态
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