Centos7安装、各种环境配置和常见bug解决方案,保姆级教程(更新中)
文章目录
- 前言
- 一、Centos7安装
- 二、各种环境配置与安装
- 2.1 安装net-tools(建议)
- 2.2 配置静态网络(建议)
- 2.1 修改Centos7的时间(建议)
- 2.2 Centos7系统编码问题
- 2.3 vim安装(建议)
- 2.4 解决Centos7命令错误发出蜂鸣警告声
- 2.5 安装wegt命令
- 2.6 Mysql8.0版本安装
- 2.7 Redis6安装
- 2.7.1 Redis安装与启动
- 2.7.2 Redis客户端
- 2.7.3 Redis卸载
前言
一、Centos7安装
因为网上关于Centos7安装教程实在是太多了,我这里就不重复造轮子了,直接上传送门
点击这里安装Centos7
二、各种环境配置与安装
安装好后就是各种要配置的东西了,我这里将各种有用的配置都记录了下来,方便以后重新安装的时候再查看
2.1 安装net-tools(建议)
centos7默认没有netstat
命令,需要安装 net-tools 工具,
yum install -y net-tools
2.2 配置静态网络(建议)
1、进入虚拟机/设置,查看是否是NAT模式
2、查看虚拟网络编辑器
3、进入etc/sysconfig/network-scripts目录,使用vi打开 ifcfg-ensXXX文件,进行编辑
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
IPADDR中设置的ip地址以后就是这台虚拟机的默认ip地址
设置完后一点要记得重启服务
service network restart
用ifconfig
命令查看网络是否已经配置成功(如果命令找不到先安装net-tools)
ping百度
2.1 修改Centos7的时间(建议)
使用命令:
date -s "2022/5/13 23:50:22"
说明:以上为案例,请根据自己情况修改时间
2.2 Centos7系统编码问题
问题:刚刚安装的时候建议检查一下系统编码,因为后期可能会用到Xshell(比如我是用的是Xshell5),如果linux下编码和Xshell中编码不同可能会导致Xshell中出现中文乱码情况。
1、使用loacle
命令查看Centos7中的系统编码
centos系统找不到locate命令(locate: command not found)
安装mlocate包,一开始安装了locate,结果发现没有这个包yum -y install mlocate
更新数据库
updatedb
这里需要注意一点:如果没有updatedb更新后台数据库,直接输入查找命令:locate,还是未能找到命令。原因是Linux不是实时更新它的后台数据库,所以我们并不能马上执行。
运行“locate inittab”(必须安装完,并执行updatedb之后执行此命令)locate inittab
[root@localhost ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
注意LANG=zh_CN.UTF-8,我这里是UTF-8格式是我后期修改好了的。如果需要修改请看下面
2、修改 /etc/locale.conf 文件
使用命令:
vi /etc/locale.conf
将里面的内容改为LANG=zh_CN.UTF-8即可
2.3 vim安装(建议)
问题:刚刚安装Cenots7时,常用编辑命令Vim并不会安装好,命令行输入vim会显示bash vim: command not found,接下来展示安装vim步骤。
1、先检查系统是否有安装完整的vim
使用命令:
rpm -qa|grep vim
如果已经正确安装的话,会显示如下三行:
vim-enhanced-7.0.109-7.el5
vim-minimal-7.0.109-7.el5
vim-common-7.0.109-7.el5
2、安装vim
使用命令:
yum -y install vim*
等待安装成功即可
命令行输入vim
检测是否安装成功
2.4 解决Centos7命令错误发出蜂鸣警告声
问题:每次输入命令错误,用tab快速补全的时候总会有这种警告声
1、修改inputrc文件
vi /etc/inputrc
2、 修改bashrc文件
vi /etc/bashrc
3、重启
reboot
2.5 安装wegt命令
yum -y install wget
2.6 Mysql8.0版本安装
需要准备:mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar
1、将mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar用Xftp工具从Window传送到linux系统下。
700多M,等待传送完即可
2、创建“mysql”目录,并将解压的文件放到这个目录下
进入到/opt/目录下
cd /opt/
注意:当文件传送成功后,在linux的/opt/目录下就会存在该压缩包
在当前目录(/opt/)下创建“mysql”目录
mkdir mysql
将解压后的文件放在“mysql”目录下(当前目录要为/opt/)
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql
解压完成!
进入到mysql目录下查看,会发现有以下这些安装包
3、用rpm指令解压“mysql”目录下安装rpm安装包
注意一定要先cd到mysql目录下!(下面所有指令按顺序执行)
cd mysql (如果当前是mysql目录下可以不用输入这行)rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm (这里出错,解决见下方①)rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpmyum install openssl-develrpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpmrpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpmrpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm(这里出错,解决见下方②)
①rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
执行失败
出错详情:
解决方案:
输入以下命令
yum remove mysql-libs
紧接着遇到询问,输入y
执行完后,重新输入:rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
问题解决!
②rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
执行失败
出错详情:
解决方案:
安装net-tools(server安装需要依赖net-tools)
yum -y install net-tools
重新输入:rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
成功解决,并无报错!
4、启动MySQL服务
启动服务
systemctl start mysqld
重启服务
systemctl restart mysqld
停止服务
systemctl stop mysqld
5、查询自动生成的root用户密码
grep 'temporary password' /var/log/mysqld.log
命令行执行指令 :
mysql -u root -p
然后输入上述查询到的自动生成的密码, 完成登录
6、修改root用户密码
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
修改密码指令如下:
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够,会对长度和特殊字符等进行校验,所以我们先把校验复杂度调低一点,0代表只校验长度,不校验特殊字符
set global validate_password.policy = 0;
当然也可以指定密码长度(如下指定密码长度为4)
set global validate_password.length = 4;
设置完后,重新输入修改密码指令即可!
如果遇到“-bash: ALTER: command not found”错误,那是因为没有登录进MySQL,登录方法见第5步
到了这mysql配置基本上已经ok了,下面选择性配置,用于让DataGrip连接到linux上的mysql
7、创建用户(选)
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问。我设置密码长度为6以便自己后续使用;set global validate_password.length = 6;
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111';
8、并给root用户分配权限(选)
grant all on *.* to 'root'@'%';
9、重新连接MySQL(选)
mysql -u root -p
然后输入密码
10、通过DataGrip远程连接MySQL(选)
测试连接
如果成功那就没问题了。如果失败,可能原因是linux上的防火墙没有开放3306端口
要么关闭防火墙
1、关闭防火墙
systemctl stop firewalld.service
2、查看防火墙状态
firewall-cmd --state
确认下是否关闭,然后再试试Test Connection,成功页面如下
要么在防火墙上开放3306端口
1、先检查一下防火墙上所有的开放端口
firewall-cmd --zone=public --list-ports
有显示3306那就没问题,如果没有接下来就开放3306端口
2、防火墙开通3306端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
3、重新加载防火墙配置文件:
firewall-cmd --reload
接下来就测试连接,按理来说已经可以连上了~
2.7 Redis6安装
2.7.1 Redis安装与启动
1、安装Redis所需要的gcc依赖
yum install -y gcc tcl
2、下载安装包并解压
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
回到linux命令行下,进入/usr/local/src/目录(/usr/local/src/为下载时的目录,根据情况修改)
cd /usr/local/src/
ll
解压文件
tar -zxvf redis-6.2.6.tar.gz
解压后进入到radis目录
cd redis-6.2.6
运行编译命令:
make && make install
如果没有出错,应该就安装成功了。默认的安装路径是在 /usr/local/bin
目录下:
启动radis
redis-server
这种启动方式属于前台启动,如果想要连接的话,需要另外再开一个连接,所以我们要对其进行设置一下
3、指定配置启动
如果要让Redis以后台
方式启动,则必须修改Redis配置文件,就在我们之前解压的redis安装包下(/usr/local/src/redis-6.2.6
),名字叫redis.conf:
我们先将这个配置文件备份一份:
进入到/usr/local/src/redis-6.2.6目录下
cd /usr/local/src/redis-6.2.6
进行备份
cp redis.conf redis.conf.bck
然后对这个配置文件进行修改
vi redis.conf
然后修改redis.conf文件中的一些配置:
因为查找起来比较麻烦,所以推荐在命令行esc下用/(关键字)来搜索,按n是继续查找下一个,N是上一个。
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123321
Redis的其它常见配置:
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"
4、启动Redis
修改完配置后,开始启动Redis
# 进入redis安装目录
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf
查看一下redis是否成功运行
ps -ef | grep redis
启动成功
如果要停止服务,可以杀死进程(6341是我这里显示的进程id)
kill -9 6341
4、开机自启radis
我们也可以通过配置来实现开机自启。
首先,新建一个系统服务文件(还是在之前的目录):
vi /etc/systemd/system/redis.service
内容如下:
[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target
保存
然后重载系统服务:
systemctl daemon-reload
现在,我们可以用下面这组命令来操作redis了:
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
执行下面的命令,可以让redis开机自启:
systemctl enable redis
2.7.2 Redis客户端
安装完成Redis,我们就可以操作Redis,实现数据的CRUD了。这需要用到Redis客户端,这里演示命令行客户端
用法
Redis命令行客户端
Redis安装完成后就自带了命令行客户端:redis-cli,
它就在下图所示位置
使用方式如下:
redis-cli [options] [commonds]
其中常见的options有:
-h 127.0.0.1
:指定要连接的redis节点的IP地址,默认是127.0.0.1-p 6379
:指定要连接的redis节点的端口,默认是6379-a 123321
:指定redis的访问密码
其中的commonds就是Redis的操作命令,例如:
ping
:与redis服务端做心跳测试,服务端正常会返回pong
这种进入方式带密码,不太安全,可以用下面这种方式
另外:退出命令行指令是 ctrl+c
AUTH后面跟用户名
和密码
即可,我这里没有用户名,则直接输入密码。
2.7.3 Redis卸载
卸载redis非常的简单,只需要简单的三步
1、停止redis服务器
首先,通过下面的命令查看redis服务是否在运行
[root@centos101 ~]# ps aux|grep redis
[root@centos101 ~]# redis-cli shutdown
[root@centos101 ~]# ps aux|grep redis
2、删除make的时候生成的几个redisXXX的文件
[root@centos101 ~]# rm -rf /usr/local/bin/redis*
3、顺便也删除掉解压后的文件目录和所以文件
rm -rf reids的解压目录
相关文章:

Centos7安装、各种环境配置和常见bug解决方案,保姆级教程(更新中)
文章目录前言一、Centos7安装二、各种环境配置与安装2.1 安装net-tools(建议)2.2 配置静态网络(建议)2.1 修改Centos7的时间(建议)2.2 Centos7系统编码问题2.3 vim安装(建议)2.4 解决…...

【C++进阶】智能指针
文章目录为什么需要智能指针?内存泄漏什么是内存泄漏,内存泄漏的危害内存泄漏分类(了解)如何避免内存泄漏智能指针的使用及原理smart_ptrauto_ptrunique_ptrshared_ptr线程安全的解决循环引用weak_ptr删除器为什么需要智能指针&am…...

软件测试面试题 —— 整理与解析(3)
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:🌎【Austin_zhai】🌏 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能…...
springboot常用的20个注解
Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目前比较火热的微服务框架SpringCloud集成, 而Spring Boot 之所以能够轻松地实现应的创建及与…...
USB组合设备——带鼠标功能的键盘
文章目录带鼠标功能的键盘一个接口实现报告描述符示例多个接口实现复合设备和组合设备配置描述符集合的实现报告的返回附 STM32 枚举日志复合设备:Compound Device 内嵌 Hub 和多个 Function,每个 Function 都相当于一个独立的 USB 外设,有自…...

数据结构与算法基础-学习-18-哈夫曼编码
一、个人理解在远程通讯中,需要把字符转成二进制的字符串进行传输,例如我们需要传输ABCD,我们可以用定长的字符串进行表示,例如:A:00B:01C:02D:03这样可能就造成空间的浪费,我们多存储了一个0号位。那用变长呢…...

ZMC408CE | 实现“8通道独立PSO”应用场景
一、ZMC408SCAN产品亮点 1.高性能处理器,提升运算速度、响应时间和扫描周期等; 2.一维/二维/三维、多通道视觉飞拍,高速高精; 3.位置同步输出PSO,连续轨迹加工中对精密点胶胶量控制和激光能量控制等; 4…...
QuickJS中JS_SetClassProto方法把JavaScript对象指定为某个类的原型对象
在 QuickJS 中,JS_SetClassProto 方法用于设置一个类的原型对象。这个方法的作用是将一个 JavaScript 对象指定为该类的原型对象,从而定义该类的属性和方法。 具体来说,JS_SetClassProto 方法的第一个参数是指向 QuickJS 引擎执行上下文的指…...

泰克信号发生器特点
泰克信号发生器是一种用于产生各种类型的电子信号的仪器,可以广泛应用于电子、通信、自动化、医疗等领域。泰克信号发生器具有以下特点:多种信号类型:泰克信号发生器可以产生多种类型的电子信号,包括正弦波、方波、三角波、脉冲等…...

贯穿设计模式第四话--里氏替换原则
🥳🥳🥳 茫茫人海千千万万,感谢这一刻你看到了我的文章,感谢观赏,大家好呀,我是最爱吃鱼罐头,大家可以叫鱼罐头呦~🥳🥳🥳 从今天开始,将…...
6501: 鸡兔同笼
描述 一个笼子里面关了鸡和免子(鸡有两只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 输入 一个正整数a(a<32768)。 输出 包含两个正整数,第一个是最少的动物数,第二个是最多的…...

Linux项目自动化构建工具-make/makefile 介绍及使用
使用背景 在工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义一系列 规则来指定什么文件需要先编译,什么文件需要后编译,哪些文件需要重新编译,或者更复杂 的功能操作 makefile带来的好处…...

【云原生|Docker】06-dokcerfile详解
目录 前言 Dockerfile基础示例 Dockerfile简介 1. Dockerfile概念 2. Dokcer镜像分层理解 3. Doker build构建原理 Dockerfile参数解析 1. Dokcerfile组成 2. 指令说明 2.1 FROM引入基础镜像 2.2 LABEL 2.3 ENV 2.4 RUN 2.5 COPY 2.6 ADD 2…...

【SCL】博图——先入先出排序法
使用博图SCL语言来实现先入先出排序 前言 使用SCL完成一个先入先出排序 具体要求:最先输入的一个数值,最先输出出来,下面的数自动向前填充; 注:这里可能有两种理解:一是第一个输入的第一个出来ÿ…...

OSPF----特殊区域
目录 OSPF----特殊区域 第一大类----末梢区域(Stub Area) 完全末梢区域((Totally Stub Area) 第二大类特殊区域----非完全末梢区域(NSSA) OSPF----特殊区域 第一大类----末梢区域(Stub Area)…...

JVM-类加载
1:类加载机制: 加、验、准、解、初、使、卸 加、烟、准、姐、初、湿、鞋 加载、将class 文件转化为二进制流加载 JVM 内存中并生成一个该类的Class对象验证、Class 文件的字节流中包含的信息是否符合当前虚拟机的要求准备、在方法区中分配这些变量所…...

超详细讲解C语言文件操作!!
超详细讲解C语言文件操作!!什么是文件文件名文件的打开和关闭文件指针文件的打开和关闭文件的顺序读写文件的随机读写fseekftellrewind文本文件和二进制文件文件读取结束的判定文件缓冲区什么是文件 磁盘上的文件是文件。但是在程序设计中,我…...

linxu学习之进程
文章目录进程程序和进程产生进程销毁进程多进程高并发设计孤儿僵尸守护进程孤儿进程:守护进程(重点)僵尸进程:进程 程序和进程 操作系统可以运行多个程序,那他是如何运行的?实际上,CPU的执行是很快的,而待…...
蓝桥杯真题2
[蓝桥杯 2013 省 B] 连号区间数 题目描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在 111 ~ NNN 的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间 [L,R][L, R][L,R] 里的所有元素(即此排列的…...

PWM互补输出,以及死区时间计算
本文基于野火例程进行解说 实验内容 本次实验输出一对互补的pwm波,且进行死区时间的计算说明。 代码 互补输出对应的定时器初始化代码: bsp_advance_tim.c /********************************************************************************* fi…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...