CentOS上安装MySQL 5.7和MySQL 8.0教程

news2024/11/18 19:37:53

🌟 前言

欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍

  • 🤖 洛可可白:个人主页

  • 🔥 个人专栏:✅前端技术 ✅后端技术

  • 🏠 个人博客:洛可可白博客

  • 🐱 代码获取:bestwishes0203

  • 📷 封面壁纸:洛可可白wallpaper

CSDN

文章目录

  • CentOS上安装MySQL 5.7和MySQL 8.0教程
    • 卸载旧版本的MySQL
    • 环境准备
    • 安装MySQL 5.7版本
      • 下载与安装
      • 登录
      • 配置
        • 配置密码安全策略(可选)
        • 修改密码
        • 配置编码格式
        • 配置远程连接
      • 重启检查启动
    • 安装MySQL 8.0版本
      • 下载与安装
      • 配置
        • 配置安全策略(可选)
        • 修改密码
        • 配置编码格式
        • 远程连接
      • 重启与检查
    • 🎉 结语

CentOS上安装MySQL 5.7和MySQL 8.0教程

卸载旧版本的MySQL

CentOS是一个稳定且广泛使用的Linux发行版,它为企业级服务器提供了一个坚实的基础。MySQL则是一个强大的开源数据库系统,它支持各种应用程序的数据存储需求。本文将指导您如何在CentOS上安装MySQL 5.7和8.0版本,帮助您搭建一个可靠的数据管理平台。在安装新版本的MySQL之前,确保系统中没有旧版本的MySQL。如果有,请按照以下步骤卸载:

# 检查系统中已安装的MySQL相关包
rpm -qa | grep -i mysql

# 卸载MySQL社区版相关包
rpm -ev --nodeps mysql-community-common-5.7.44-1.el7.x86_64
rpm -ev --nodeps mysql57-community-release-el7-10.noarch
rpm -ev --nodeps mysql-community-libs-5.7.44-1.el7.x86_64
rpm -ev --nodeps mysql-community-server-5.7.44-1.el7.x86_64
rpm -ev --nodeps mysql-community-client-5.7.44-1.el7.x86_64

# 查找并删除MySQL相关文件和目录
find / -name mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql

# 删除MySQL配置文件
rm -rf /etc/my.cnf

# 再次检查系统中是否还有MySQL相关包
rpm -qa | grep -i mysql
rpm -qa | grep mariadb

环境准备

在安装MySQL之前,请确保您的CentOS系统满足以下条件:

# 确保网络连接正常,以便下载必要的软件包和仓库配置
# 确保wget工具已安装,用于下载MySQL安装包
yum install wget

安装MySQL 5.7版本

下载与安装

# 下载MySQL 5.7社区版的yum仓库配置包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

# 安装MySQL 5.7社区版仓库配置包
yum -y install mysql57-community-release-el7-10.noarch.rpm

# 安装MySQL社区服务器
yum -y install mysql-community-server

# 导入MySQL的公钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

# 启动MySQL服务
systemctl start mysqld.service

# 检查MySQL服务状态
systemctl status mysqld.service

登录

# 获取临时密码
grep "password" /var/log/mysqld.log

# 登录MySQL
mysql -uroot -p

配置

配置密码安全策略(可选)
# 设置密码安全策略
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=0;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
修改密码
# 修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

# 推出
exit;

# 重启MySQL服务
service mysqld restart

# 使用新密码登录MySQL
mysql -uroot -p
配置编码格式
# 查看编码格式
status;

# 输出
...
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
...

# 设置客户端编码
[client]
default-character-set=utf8

# 设置服务器编码
set character_set_server=utf8;
set collation-server=utf8_general_ci;

# 设置其他编码相关配置
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
配置远程连接
# 关闭防火墙(如果需要)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

# 配置远程连接
grant all privileges on *.* to 'root'@'%' identified by 'new_password' with grant option;
flush privileges;

# 推出
exit;

# 重启MySQL服务
systemctl restart mysqld

重启检查启动

# 重启MySQL服务
service mysqld restart

# 检查MySQL服务是否启动
systemctl status mysqld
# 或者
ps -ef | grep mysqld

安装MySQL 8.0版本

下载与安装

# 下载MySQL 8.0社区版的yum仓库配置包
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装MySQL社区服务器
sudo yum --enablerepo=mysql80-community install mysql-community-server

配置

配置安全策略(可选)
# 设置密码验证策略
set global validate_password.policy=MEDIUM;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0; 
set global validate_password.special_char_count=0; 
set global validate_password.length=8;  

# 显示密码验证策略
show variables like 'validate%';
修改密码
# 获取临时密码
grep "A temporary password" /var/log/mysqld.log;

# 临时密码登录
mysql -uroot -p

# 修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

# 使用新密码登录MySQL
mysql -uroot -p
配置编码格式
# 查看编码格式
status

# 输出
...
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
...

# 修改
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;

远程连接
# 创建远程用户并授予权限
use mysql;
CREATE USER 'root'@'%' IDENTIFIED BY 'new_password';
grant all privileges on *.* to 'root'@'%';
flush privileges;

# 推出
exit;

# 重启MySQL服务
systemctl restart mysqld

重启与检查

# 重启MySQL服务
systemctl restart mysqld

# 检查MySQL服务状态
systemctl status mysqld
# 或者
ps -ef | grep mysqld

以上是在CentOS系统上安装MySQL 5.7和MySQL 8.0的详细步骤。请在执行每个步骤之前确保理解其含义,并根据实际情况调整配置。如果在安装过程中遇到问题,请随时提问。祝你安装顺利!

🎉 结语

感谢你的访问,期待与你在技术的道路上相遇!👋🌟🚀

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

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

相关文章

全天候购药系统(微信小程序+web后台管理)

PurchaseApplet 全天候购药系统(微信小程序web后台管理) 传统线下购药方式存在无法全天候向用户提供购药服务,无法随时提供诊疗服务等问题。为此,运用软件工程开发规范,充分调研建立需求模型,编写开发文档…

智慧城市的前景:数字孪生技术在智慧城市中的应用前景

目录 一、引言 二、数字孪生技术及其在智慧城市中的应用概述 三、数字孪生技术在智慧城市中的应用前景 1、城市规划与仿真模拟 2、智能交通与出行服务 3、智慧环保与可持续发展 4、智慧公共服务与社会治理 5、智慧能源与绿色建筑 四、数字孪生技术在智慧城市中的挑战与…

稀疏数组实现

博文主要是自己学习的笔记,供自己以后复习使用, 参考的主要教程是B站的 尚硅谷数据结构和算法 稀疏数组(sparse array) 实际需求:五子棋程序中的存盘退出和续上盘的功能 问题分析: 如果直接用二维数组,很多值是默认…

hfish蜜罐搭建与使用

本次是对自己在学习蓝队过程中的一次对安全设备 hfish蜜罐的搭建和使用考核记录,距离之前已 经过去很久了,对之前在考核过程中的操作进行回顾和总结. 蜜罐在这里我进行免费分享 hfish-3.1.4-windows-amd64.zip官方版下载丨最新版下载丨绿色版下载丨APP下载-123云…

Java工作需求后端代码--实现树形结构

加油,新时代打工人! 前端页面 带树形结构的表格 最近在新项目上加班加点,下面是个实现树形结构的数据表格。 需求: 在前端页面表格中展示成树形结构的数据。 技术: 后端:Java、Mybatis-Plus、HuTool树形的…

回南天的解决方案

广东的回南天还是那么湿,各种短视频在秀。 墙上流水 楼顶滴水 厕所镜子看不到人 出门滑行 衣服永远是湿的 湿度100%! 那么这个让人难受的回南天,除关门关窗,还有没有更好的解决方案??(小…

ChatGPT提示技巧——零,一和少量示例提示

ChatGPT提示技巧——零,一和少量示例提示 ​ 零样本(zero-shot)、少样本(few-shot)和单样本(one-shot)提示是用于在最少或没有示例的情况下从ChatGPT生成文本的技巧。这些技巧用于当某个具体任务有限定数据的时候或者任务是新的并且没有很好的定义的时候。 提示格…

[HackMyVM]靶场 Run

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…

libevent源码解析:io事件(一)

文章目录 前言一、用例简单服务端实现参数设置 二、基本数据结构介绍三、源码分析event_base_newevent_newevent_addevent_base_dispatch 三、libevent和epoll中的事件标记epoll中的事件标记libevent中的事件标记libevent和epoll中事件标记的对应关系 总结 前言 libevent中对三…

libevent源码解析:定时器事件(三)

文章目录 前言一、用例小根堆管理定时器事件小根堆和链表管理定时器事件区别 二、基本数据结构介绍结构体成员分析小根堆和链表common_timeout图示 三、源码分析小根堆管理定时器事件event_newevent_addevent_dispatch 链表common_timeout管理定时器事件event_base_init_common…

react 分步表单中使用useEffect来更新表单值的问题

问题背景:我在完成一个分步表单的功能的时候,在进行点击下一步的时候,会通过useEffect 来监听下一步或者上一步的动作,进行表单赋值,我使用 useEffect(() > {setFieldsValue(formValues);}, [stepNum]) 直接赋值的…

动态规划:Leetcode 91.解码方法

题目 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : A -> "1" B -> "2" ... Z -> "26" 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法&am…

【Web安全】XSS攻击与绕过

【Web安全】XSS攻击与绕过 【Web安全靶场】xss-labs-master 1-20 文章目录 【Web安全】XSS攻击与绕过1. XSS攻击是啥?2. XSS如何发生?3. XSS分类3.1. 反射型3.2. 存储型3.3. DOM型 4. XSS攻击方式1. script标签2. img标签3. input标签4. details标签5.…

【IC设计】Windows和Ubuntu下安装Verilator

文章目录 Windows下安装verilatorUbuntu下安装verilator安装前的准备安装verilator检查 Windows下安装verilator windows下安装比较麻烦,需要首先安装cygwin,cygwin是一个包管理工具,类似apt,然后通过cygwin安装verilator所需的各…

『大模型笔记』LLM框架(LangChain、LlamaIndex、Haystack、Hugging Face)哪一个是满足您特定需求的最佳选择?

LLM框架(LangChain、LlamaIndex、Haystack、Hugging Face)哪一个是满足您特定需求的最佳选择? 文章目录 1. LangChain1.1. 优势1.2. 劣势1.1. 理想用例 2. LlamaIndex2.1. 优势2.2. 劣势2.3. 理想用例 3. Haystack3.1. 优势3.2. 劣势3.3. 理想用例 4. Hugging Face…

CSAPP-程序的机器级表示

文章目录 概念扫盲思想理解经典好图安全事件 概念扫盲 1.汇编代码使用文本格式,相较于汇编的二进制可读性更好 2.程序内存包括:可执行的机器代码、操作系统需要的信息、管理过程调用和返回的运行时栈、用户分配的内存块 3.链接器为函数调用找到匹配的可…

ffmpeg maxrate 导致转码输出的内容包含随机性

https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate 问题 领导提出了一个问题,为什么转码后的视频大小字节数据都不一样,这问到我了,一时语塞。查一下吧,没有什么资料支撑。主动试一下。 尝试 首先尝试一下直接…

JVM-对象创建与内存分配机制深度剖析 3

JVM对象创建过程详解 类加载检查 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个 符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 new…

C# 用 System.Xml 读 Freeplane.mm文件,生成测试用例.csv文件

Freeplane 是一款基于 Java 的开源软件,继承 Freemind 的思维导图工具软件,它扩展了知识管理功能,在 Freemind 上增加了一些额外的功能,比如数学公式、节点属性面板等。 编写 read_Xml.cs 如下 using System; using System.IO…

SpringMVC-异步调用,拦截器与异常处理

1.异步调用 1.发送异步请求 <a href"javascript:void(0);" id"testAjax">访问controller</a> <script type"text/javascript" src"js/jquery-3.7.1.js"></script> <script type"text/javascript&qu…