CentOS7(三)MySQL8 Redis7 (单机)安装

news2024/9/21 16:23:11

文章目录

  • 一、MySQL安装
    • 1、确认是否有老版本
    • 2、在线安装
    • 3、本地安装
  • 二、启动MySQL
  • 三、MySQL常用配置
    • 1、密码修改
    • 2、配置远程登录
    • 3、开启防火墙 3306 端口
    • 4、 报错
    • 5、MySQL中Java写入时间少14小时
  • 四、Redis 安装
    • 1、安装Redis依赖
    • 2、启动redis
    • 3、指定配置启动 & 后台运行
    • 4、开机自启

一、MySQL安装

1、确认是否有老版本

参考 Centos7安装mysql8.0教程

# 关闭
service mysqld stop
# 查看已经安装的 MySQL - 如果检查没有就可以直接进入下一步了 
rpm -qa|grep -i mysql

在这里插入图片描述

# 卸载安装的MySQL - 需要对应上图中的四个
rpm -ev mysql-community-client-8.0.11-1.el7.x86_64 --nodeps
rpm -ev mysql-community-common-8.0.11-1.el7.x86_64 --nodeps
rpm -ev mysql-community-server-8.0.11-1.el7.x86_64  --nodeps
rpm -ev mysql-community-libs-8.0.11-1.el7.x86_64 --nodeps

# 卸载MySQL相关目录
find / -name mysql
rm -rf /var/lib/mysql/
rm -rf /usr/lib64/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /etc/selinux/targeted/tmp/modules/100/mysql

# 删除my.cnf
rm -rf /etc/my.cnf

# 删除MySQL的默认密码
rm -rf /root/.mysql_sercret

# 检查卸载情况
rpm -qa|grep -i mysql

# 删除mariadb 的安装包
rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps 卸载mariadb

2、在线安装

# 配置 MySQL 8.0 安装源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 安装 MySQL 8.0
sudo yum --enablerepo=mysql80-community install mysql-community-server

提示下载插件选择:y
在这里插入图片描述

3、本地安装

下载安装包: 官方下载地址
百度网盘:链接

# 创建并进入mysql文件夹
mkdir /usr/local/mysql
cd /usr/local/mysql
# 将文件上传到这里,然后解压
tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述

# 依次执行安装
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force

在这里插入图片描述
查看已安装的MySQL

rpm -qa | grep mysql

在这里插入图片描述
初始化

mysqld --user=mysql --lower-case-table-names=1 --initialize-insecure --datadir=/var/lib/mysql;
chown mysql:mysql /var/lib/mysql -R;

1、初始化加上 lower-case-table-names=1 为了设置mysql不区分大小写
2、如果初始化报错:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
# 该报错表示提示没有这个共享库:libaio,libaio包的作用是为了支持同步I/O。对于数据库之类的系统特别重要,因此在linux上安装数据库软件,就需要安装libaio,命令如下:
yum -y install libaio
# 出现Complete!则表示安装成功,安装完成后再执行初始化命令。
3、最后去修改my.cnf文件,加上lower-case-table-names=1

vi /etc/my.cnf
 按[i]进入可编辑状态
 在[mysqld]下加入一行:lower_case_table_names=1[Esc]后按[:wq]写入文件

二、启动MySQL

# 赋权
chmod 777 /etc/my.cnf
# 启动
sudo service mysqld start
关闭mysql服务
service mysqld stop
本地启动:
systemctl start mysqld;
# 查看启动状态
service mysqld status

在这里插入图片描述

# 查看 root 临时密码
grep "A temporary password" /var/log/mysqld.log;
cat /var/log/mysqld.log | grep password

在这里插入图片描述
这个意思是没有密码,可以直接回车进入
在这里插入图片描述

三、MySQL常用配置

1、密码修改

mysql -uroot -p
提示输入密码,输入临时密码后显示登录成功
然后执行语句:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
若提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements(密码不符合当前策略)
修改密码策略,一般为大小写字母+数字+特殊符号

在这里插入图片描述

2、配置远程登录

# 查看默认mysql用户
# 输入:
use mysql;
# 输入:
select host, user, authentication_string, plugin from user;
# 发现root的host是localhost,不是%,可以加个host是%的root账号:
# 输入:
create user root@'%' identified by 'qiaosirong';
# 然后为用户授权:
grant all privileges on *.* to root@'%' with grant option;
# 最后刷新权限:
flush privileges;
# 退出mysql:
\q

3、开启防火墙 3306 端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

4、 报错

报错:1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column…

修改 my.cnf 文件的 sql_mode (一次性解决问题)

查找 my.cnf 文件: find / -name my.cnf 或者 whereis my.cnf
获取 sql_mode字段内容: SELECT @@sql_mode;
去掉 sql_mode字段中的 only_full_group_by
编辑 my.cnf: vim /etc/my.cnf 将上一步骤的 sql_mode 字段内容添加至 my.cnf
保存,重启: service mysqld restart
sql_mode 字段参考:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

5、MySQL中Java写入时间少14小时

查看时区

mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+------------------+--------+
2 rows in set (0.02 sec)

java写入时间少14小时。这是因为:在解析成预编译语句的时候,误将CST(China Standard Time utc+8)解析成CST(Central Standard Tim UTC-6),美国中部标准时间,所以少14个小时。

# 可以通过修改 
vi /etc/my.cnf
# 在 [mysqld] 之下加
default-time-zone=timezone
# 来修改时区。如:北京时间
default-time-zone = ‘+8:00’
# 修改完了记得记得重启MySQL,重启MySQL:
service mysqld restart

四、Redis 安装

1、安装Redis依赖

Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖:

yum install -y gcc tcl

下载安装包

官网下载地址:https://redis.io/download/
百度网盘:链接

# 打开 
cd /usr/local/src
# 下载二进制包,解压到
tar -C /usr/local/env -xzf redis-7.0.11.tar.gz

在这里插入图片描述

2、启动redis

# 进入 redis 目录
cd /usr/local/env/redis-7.0.11
# 进行编译
make && make install
# 安装完成后,在任意目录输入redis-server命令即可启动Redis
redis-server

在这里插入图片描述

# 开启防火墙 6379 端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
# 查看当前已经开放的端口号
firewall-cmd --list-all

3、指定配置启动 & 后台运行

如果要让Redis以后台方式启动,则必须修改Redis配置文件,就在我们之前解压的redis安装包下(/usr/local/src/redis-6.2.6),名字叫redis.conf

我们先将这个配置文件备份一份:

cp redis.conf redis.conf.bck

然后修改redis.conf文件中的一些配置

vim redis.conf

#允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
#守护进程,修改为yes后即可后台运行
daemonize yes
#设置后访问Redis必须输入密码
requirepass 123456i
关闭保护模式 - 局域网内可以访问
protected-mode no

启动Redis

进入redis安装目录

cd /usr/local/src/redis-6.2.6

启动

redis-server redis.conf

查看运行状态

ps -ef | grep redis

在这里插入图片描述
停止
通过杀死进程的方式(这里使用shutdown命令没有停止服务)

kill -9 59830
# 或者
redis-cli -p 6379 shutdown 

4、开机自启

可以通过配置来实现开机自启

首先,新建一个系统服务文件

vim /etc/systemd/system/redis.service

内容如下:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/env/redis-7.0.11/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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/447884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手机端H5地图调起开发实战案例解析(百度高德腾讯地图调起、底部弹出层、提示安装地图导航APP)

文章目录 1.导航菜单配置构建导航菜单容器设置取消事件调起菜单样式表 2.地图调起事件导航到这里获取导航坐标百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换 3.地图调起效果 地图调起功能,是地图URI API是为开发者提供直接调起地图产品(手机客户端&a…

nextjs13临时笔记

动态路由 文件夹以中括号命名[id] -pages: --list: ---[id]: ----index.jsx(访问路径/list/1 即这种形式/list/:id) ---index.jsx(访问路径/list)[...params]gpt接口分析 初始化项目 npm install next react react-dom # or yarn add next react react-dom # or pnpm add n…

WPF教程(六)--依赖属性(2)--属性值优先级与继承

一、 依赖属性的优先级 由于WPF 允许我们可以在多个地方设置依赖属性的值,所以我们就必须要用一个标准来保证值的优先级别。比如下面的例子中,我们在三个地方设置了按钮的背景颜色,那么哪一个设置才会是最终的结果呢?是Black、Re…

[oeasy]python0136_接收输入_input函数_字符串_str

输入变量 回忆上次内容 上次研究了 一行赋值多个变量 a b 5a, b 7, 8 还研究了 标识符的惯用法 python使用的是 snake_case蛇形命名法用下划线 分隔开小写字母的 方法这样就可以 更合理地 命名变量了 变量变量 能变的量我可以 手工输入变量的值 吗?&#x1f9…

MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法

序言 兴趣使然,突发奇想,想到了就写,就当打发时间了。 一、使用 csv 导入数据的命令方法 csv文件路径问题,绝对路径和相对路径都可以 方法1 type 没有号,也是可以的,空格自动识别 将测试表.csv 文件导…

pikachu靶场-csrf

csrf 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方…

【C++ 六】内存分区、引用

内存分区、引用 文章目录 内存分区、引用前言1 内存分区模型1.1 程序运行前1.2 程序运行后1.3 new 操作符 2 引用2.1 引用基本使用2.2 引用注意事项2.3 引用做函数参数2.4 引用做函数返回值2.5 引用本质2.6 常量引用 总结 前言 本文包含内存分区、引用基本使用、引用注意事项、…

记一次完整的rc.local中启动python脚本报psutil找不到问题解决

文章目录 1,问题1.1,rc.local1.2,watchdog.py 2,问题排查2.1,手动执行start.sh后功能正常2.2,开机启动后rc.local加载start.sh,然后start.sh启动python脚本报错2.3,怀疑是rc.local加…

SAP S/4HANA不是ERP了?

今天浏览了一下SAP官方帮助(Help)网站,有一个意外的发现,如上图:SAP S/4HANA和SAP ERP是分别显示的,这让我想起了前段时间一个朋友和我说:“S/4HANA现在都不叫ERP了,因为里面包括了超…

【C++初阶】C++入门(一):命名空间C++的输入输出缺省参数函数重载

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录 1.什么是C1.1 C的发…

最新Tuxera NTFS2023最新版Mac读写NTFS磁盘工具 更新详情介绍

Tuxera NTFS for Mac是一款Mac系统NTFS磁盘读写软件。在系统默认状态下,MacOSX只能实现对NTFS的读取功能,Tuxera NTFS可以帮助MacOS 系统的电脑顺利实现对NTFS分区的读/写功能。Tuxera NTFS 2023完美兼容最新版本的MacOS 11 Big Sur,在M1芯片…

Python统计学:如何理解样本统计量?

本期介绍样本统计量是怎么算的,并用Python来模拟随机抽样。用一个在鱼塘捞鱼的简单例子来理解样本均值的概念。 如何理解重复试验? 指能够在完全相同条件下进行多次的试验; 比如我们抛10枚硬币,用来计算正面出现的概率&#xff…

4.7 贝塞尔曲线

学习目标: 学习贝塞尔曲线可以遵循以下步骤: 1.了解基本概念和定义:学习贝塞尔曲线前需要了解贝塞尔曲线的基本概念和定义,如何定义一条贝塞尔曲线、控制点的概念以及贝塞尔曲线的几何性质等。 2.学习贝塞尔曲线的构造方法&…

Django搭建一个简易GPT网站

文章目录 环境安装创建主项目和应用程序在 settings.py 文件中注册应用程序在 views.py 文件中为应用程序创建视图配置应用程序的 URL创建和渲染模板KEY实现发送提示功能注意事项完整源码 环境安装 pip install django openai创建主项目和应用程序 处理完项目的环境后&#x…

第二个机器学习应用:乳腺癌数据集在决策树模型上的挖掘

目录 决策树优化与可视化 1 决策树分类 2 决策树可视化 3 显示树的特征重要性 特征重要性可视化 决策树回归 1 决策树回归 决策树优化与可视化 1 决策树分类 from sklearn.datasets import load_breast_cancer from sklearn.tree import DecisionTreeClassifier from sk…

基于C++开发的医院医学影像PACS 可二次开发,三维重建

医学影像PACS系统源码,集成三维影像后处理功能,包括三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等功能。系统功能强大,代码完整。有演示。 本套PACS系统专门针对医院工作流程设计的&am…

分布式ID生成策略总结

1、UUID 2、数据库自增ID 2.1、主键表 2.2、ID自增步长设置 3、号段模式 4、Redis INCR 5、雪花算法 6、美团(Leaf) 7、百度(Uidgenerator) 8、滴滴(TinyID) 总结比较 背景 在复杂的分布式系统中,往往需要对大量的数据进行唯一标识,比如在对…

springboot中的日志

作者:~小明学编程 文章专栏:spring框架 格言:热爱编程的,终将被编程所厚爱。 目录 为什么需要日志 如何使用日志功能 日志的打印 获取日志对象 使用日志对象打印日志 日志级别 为什么我们需要把日志分为如此多的种类呢&am…

今天面试招了个25K的测试员,从腾讯出来的果然都有两把刷子···

公司前段时间缺人,也面了不少测试,前面一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在15-25k,面试的人很多,但平均水平很让人失望。看简历很多都是4年工作经验,但面试中,不…

《系统架构设计》-07-面向领域的技术设计

文章目录 1 实体与值对象1.1 实体对象1.1.1 唯一标识(Identity)1.1.2 可变性贫血模型充血模型 1.2 值对象1.3 示例(识别实体和值对象)1)识别实体对象2)提取值对象3)挖掘实体的关键行为4&#xf…