MySQL安装『适用于 CentOS 7』

✨个人主页: 北 海
🎉所属专栏: MySQL 学习
🎃操作环境: CentOS 7.6 腾讯云远程服务器
🎁软件版本: MySQL 5.7.44

成就一亿技术人


文章目录

  • 1.MySQL 的清理与安装
    • 1.1查看是否存在 MySQL 服务
    • 1.2.卸载原有服务
    • 1.3.获取官方的 yum 源
    • 1.4.下载 MySQL 服务
    • 1.5.验证是否下载完成
  • 2.MySQL 的配置与启动
    • 2.1.启动服务
    • 2.2.登录 MySQL
    • 2.3.修改密码
    • 2.4.修改配置文件
  • 3.可能遇到的问题
    • 3.1.无法通过 yum 下载
    • 3.2.无法登录 MySQL
    • 3.3.无法退出 MySQL
    • 3.4.无法修改密码规则


注意: 为了避免权限不足的问题,建议切换至 root 用户进行安装

1.MySQL 的清理与安装

1.1查看是否存在 MySQL 服务

在安装 MySQL 前,需要先看看自己的服务器中是否存在 MySQL 服务,可以使用

ps -ajx | grep mysql*

查询是否有相关服务正在运行,如果出现下图所示,就说明已存在 MySQL 服务

图示

此时可以选择卸载原有服务,重新安装,也可以选择直接使用(如果可用的情况下);但如果服务器中没有 MySQL 相关服务,就可以跟着我的教程安装

1.2.卸载原有服务

首先需要终止正在运行的 MySQL 服务

systemctl stop mysqld

终止服务后,再次查询 MySQL 服务,如果没有看到,就说明终止成功了

图示

备份重要信息(如果之前有人用过 MySQL 的话),没用过就可以跳过这一步

首先是备份 my.cnf 文件,这是 MySQL 的配置文件,位于 /etc/my.cnf

mkdir ~/TMP
cp /etc/my.cnf ~/TMP/

图示

其次是备份 mysql 这个文件夹,里面包含了之前用户操作过的数据库信息

cp -r /var/lib/mysql ~/TMP/

图示
注意: 后续安装好后,可以把这两个备份文件(夹)恢复至原来的路径中

卸载这些系统安装包

yum remove mysql

1.3.获取官方的 yum 源

如果你的系统是 CentOS 7.6,可以直接通过这个链接下载:适用于 CentOS 7.6

否则可以去官方提供的网站中寻找与自己版本相匹配的 yum 源:官方提供的下载网站

将后缀为 .rpm 的文件下载好后,可以通过文件上传工具将文件传至服务器,比如 rz

rz

输入指令后选择下载好的文件上传即可

注:rz 是一款工具,如果没有的话需要通过 yum 下载,并且需要在 XShell 中使用

安装 MySQLyum

 rpm -Uvh 下载好的文件名

查看 yum 源是否成功安装

ls -l /etc/yum.repos.d/

存在这两个文件,就证明成功了,安装 yum 源 完成后,可以将这个文件删除

查看 MySQLyum 源是否成功工作

yum list | grep mysql-community*

出现很多 mysql 相关的安装包,就证明可以成功工作

1.4.下载 MySQL 服务

yum install -y mysql-community-server

这条指令可能会执行失败,原因是 密钥过期了,可以使用以下语句更新密钥

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

静待安装完成

1.5.验证是否下载完成

查看 /etc/ 目录下是否存在 my.cnf 配置文件

ls /etc/my.cnf

查看是否存在 MySQL 存放数据的目录

ls /var/lib/mysql

注:部分文件为之前残留的数据库


2.MySQL 的配置与启动

2.1.启动服务

通过指令启动 MySQL 服务,MySQL 默认使用的端口是 3306,启动之前要确保 3306 端口处于开启状态

图示

systemctl start mysqld

图示

2.2.登录 MySQL

登录 MySQL 默认是需要密码,当前版本的 MySQL 刚开始会设置一个临时密码,可以通过指令获取,如果获取失败,可以跳转至本文最后一部分 [3.2无法登录 MySQL]

获取临时密码

grep 'temporary password' /var/log/mysqld.log

注意: 获取临时密码的前提是 MySQL 服务已经启动过

获取临时密码后,就可以登录 MySQL

mysql -u root -p

回车后,输入 临时密码,如果登录失败,可跳转至 [3.2无法登录 MySQL]

注意: MySQL 中默认只有 root 用户,所以需要以 root 身份登录

出现此页面证明登录成功,可以进行密码修改
图示

2.3.修改密码

注意: MySQL 中输入的语句都要以 ; 结尾,表示输入语句结束

为了方便后续使用,这里直接把密码等级设为最低,如果输入指令报错,可以跳转至 [3.3.无法修改密码规则]

修改密码强度(可以单纯为数字)

set global validate_password_policy=0;

修改密码最小长度

set global validate_password_length=1;

修改当前用户 root 的登录密码,其中的 localhost 表示只允许登录主机本地;如果设置 123456 等简单密码失败,说明是密码规则没有修改成功,过于简单的密码不允许设置,可以重新登录 MySQL,重复上面的步骤

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

刷新权限,MySQL 中有很多权限的概念,现在可以先不用管

FLUSH PRIVILEGES;

修改完成后,可以使用新密码登录 MySQL

注:输入 quit 退出 MySQL

2.4.修改配置文件

MySQL 服务启动时,会先从配置文件中读取配置信息,比如 端口号、文件存储位置、存储引擎等,配置文件 my.cnf 位于 /etc/ 目录中,首先打开配置文件

vim /etc/my.cnf

设置端口号为 3306,也可以根据自己的需求进行设置

port=3306

设置数据库文件存储路径,默认为 /var/lib/mysql

datadir=/var/lib/mysql

设置默认编码格式,后续在创建数据库时,如未指定编码,则使用配置文件中的默认编码

character-set-server=utf8

设置默认存储引擎,一般都是使用 InnoDB,因为它支持 索引、事务 等特性

default-storage-engine=innodb


如果无法退出 vim,可以尝试 wq! 强行保存并退出

设置完配置文件后,都需要重启 MySQL 服务,确保配置信息及时更新

systemctl restart mysqld

接下来就可以尝试使用 MySQL


3.可能遇到的问题

下面是一些常见的问题

3.1.无法通过 yum 下载

通过 yum 下载 MySQL 时提示

Failing package is: mysql-community-client-5.7.44-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

这是因为密钥过期了,更新密钥后重新下载就行了

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

3.2.无法登录 MySQL

如果无法登录 MySQL(即便是密码忘记了),可以直接修改配置文件

打开 my.cnf

vim /etc/my.cnf

在文件末尾加上以下语句

skip-grant-tables

添加完成后,保存并退出,然后重启 MySQL 服务

systemctl restart mysqld

此时再次登录 MySQL 时,随便输入密码或者直接回车,都能正常登录,这是因为 跳过了密码验证

进入 MySQL 后可以手动修改 root 密码,如果想重新启用登录时密码验证,直接去除 my.cnf 中的 skip-grant-tables 就行了

3.3.无法退出 MySQL

MySQL 客户端本质上就是一个进程,可以直接通过 ctrl + d 发送信号终止进程,这种退出方式常用于客户端卡死的情况

键盘键入 ctrl + d

也可以输入 quit 退出客户端

quit

像这种命令在 MySQL 中输入时,可以不用加 ; 号,这是一种正常退出的方式

3.4.无法修改密码规则

问题描述:输入修改密码规则相关语句报错

报错描述

ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
或者
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'

报错原因:当前的 MySQL 中缺少相关变量

查询相关变量,结果为空

show variables like 'validate_password%';

图示

解决方法:在配置文件中添加相关环境变量

打开 my.cnf

vim /etc/my.cnf

在配置文件的末尾加上以下语句

plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT

图示

添加完成后,重启 MySQL 服务

systemctl restart mysqld

重启完成后,重新登录 MySQL,输入语句查看密码规则相关变量信息,能显示信息就证明问题已经解决了

show variables like 'validate_password%';

图示

接下来输入语句修改密码规则

set global validate_password_policy=0;
set global validate_password_length=1;

可以看到已经修改成功了,问题解决

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

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

相关文章

JS逆向基础之反调试

JS逆向基础之反调试 截至目前的话大家应该都知道我们在进行js逆向的时候需要打开浏览器开发者工具进行网页的调试,但是在有时候网站会阻止我们去调试它的代码,而其阻止我们的手段也是多种多样的。接下来我们就来简单了解一下逆向过程中常见的反调试手段…

文件下载漏洞, 漏洞原理, 测试方法, 漏洞防御, 常见敏感路径

文件下载漏洞 一, 文件下载漏洞原理 利用条件: 1. 读取文件的路径是用户可控, 且没有校验或检验不严. 2. 使用了读取文件的函数. 3. 输出了文件内容.漏洞场景一: 后端没有限制哪些路径的文件可以下载 后端代码: http://192.168.112.200/security/download.php $file_pat…

keealived安装配置启动

1.keepalived作用和原理图 keepalived作用:解决单点故障简单原理图1: 2.keepalived安装配置启动 地址: https://www.keepalived.org/download.html# 1)解压 tar -zxvf keepalived-2.0.18.tar.gz # 2)进入keepalived目录 cd keepalived-2.0.18/ # 3)安装libnl/libnl-3依赖…

chat gpt 在开发当中的应用

chatgpt 出来已经有一段时间了,本人在开发的过程中也是有去使用。 经常使用的是讯飞大模型和通义千问,在使用的过程中,个人感觉讯飞大模型在写代码方面会比较智能。 比如问一个 sqlser 单表 数据量 几个亿如何处理的问题,讯飞会给…

C/C++ 飞翔的小鸟

载入问题: 解决之后效果: 放在main函数里面进行封装: 效果展示: 实现下坠 放进while(1)里面不断进入循环,每次进入循环,鸟的y坐标值就会发生变化,以此实现下下坠效果 效果展示&#…

Vue 数据绑定 和 数据渲染

目录 一、Vue快速入门 1.简介 : 2.MVVM : 3.准备工作 : 二、数据绑定 1.实例 : 2.验证 : 三、数据渲染 1.单向渲染 : 2.双向渲染 : 一、Vue快速入门 1.简介 : (1) Vue[/vju/],是Vue.js的简称,是一个前端框架,常用于构建前端用户…

Hive客户端和Beeline命令行的基本使用

本专栏案例数据集链接: https://download.csdn.net/download/shangjg03/88478038 1.Hive CLI 1.1 命令帮助Help 使用 `hive -H` 或者 `hive --help` 命令可以查看所有命令的帮助,显示如下: usage: hive-d,--define <key=value> Variable subsitution to ap…

C#学习相关系列之多线程---TaskCompletionSource用法(八)

一、TaskCompletionSource类的作用 TaskCompletionSource类回调代码转换为可以等待的Task&#xff0c;TaskCompletionSource本身不是可等待的&#xff0c;它也不是有效的异步方法返回类型。一旦TaskCompletionSource给了你一个任务&#xff0c;你可以简单地返回那个任务&#x…

2023NOIP A层联测20-点餐

一家新的餐馆开业了&#xff0c;为了吸引更多的顾客&#xff0c;每样餐品都有打折的活动。特别的&#xff0c;餐馆内一共有&#x1d45b;样菜品&#xff0c;编号从 1 1 1 到 n n n&#xff0c;每样菜品每人最多只能点一次。对于第 i i i 种菜品&#xff0c;其包含两种价格&a…

Flutter FittedBox

&#x1f525; 英文单词FittedBox &#x1f525; Fitted 通过有道翻译如下 &#xff1a; Box 通过有道翻译如下 &#xff1a; 对 FittedBox 的理解 我们可以将 FittedBox 理解为合适的盒子&#xff0c;将其它布局放到FittedBox这样一个盒子中&#xff0c;从而实现 盒子里面的…

kubernetes实验挑战二(troubleshoot pv pvc )

This 2-Node Kubernetes cluster is broken! Troubleshoot, fix the cluster issues and then deploy the objects according to the given architecture diagram to unlock our Image Gallery!! 1、 kubeconfig /root/.kube/config, User ‘kubernetes-admin’ Cluster: S…

SpringCloud(一) 服务架构的演变及注册RestTemplate实现服务的远程调用

目录 一, 服务架构的演变 1.1 单体架构 1.2 分布式架构 1.3 微服务 1.4 SpringCloud 二, 服务拆分和远程调用 2,1 服务拆分原则 2.2 服务拆分示例 2.3 创建相应数据库 2.4 实现远程调用示例 1, 更改需求 2, 注册RestTemplate实现远程调用 2.5 服务消费者和提供者 一…

D-Bus:数据类型

D-Bus中描述接口的属性和方法,有其自己定义的一套签名描述方式: 数据类型描述符号对应C++数据类型avector/array数组, ai表示的是vector<int32_t>bboolddouble双精度浮点数iint32_t,32位有符号整数nint16_t,16位有符号整数oobject_path对象路径quint16_t,16位无符号…

【数据分析】上市公司半年报数据分析

前言 前文介绍过使用网络技术获取上市公司半年报数据的方法&#xff0c;本文将对获取到的数据进行简要的数据分析。 获取数据的代码介绍在下面的两篇文章中 【java爬虫】使用selenium获取某交易所公司半年报数据-CSDN博客 【java爬虫】公司半年报数据展示-CSDN博客 全量数…

Flutter笔记:完全基于Flutter绘图技术绘制一个精美的Dash图标(中)

Flutter笔记 完全基于Flutter绘图技术绘制一个精美的Dart语言吉祥物Dash&#xff08;中&#xff09; 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://…

微服务框架Consul--新手入门

Consul Consul 是由 HashiCorp 开发的一款软件工具&#xff0c;提供了一组功能&#xff0c;用于服务发现、配置管理和网络基础设施自动化。它旨在帮助组织管理现代分布式和微服务架构系统的复杂性。以下是Consul的一些关键方面和功能&#xff1a; 服务发现&#xff1a;Consul …

【Qt之QString】去除“字符“或替换“字符“小技巧

去除字符 在Qt中&#xff0c;可以使用以下函数来去除字符串中的字符。 QString &remove(int i, int len)&#xff1a;删除字符串中从索引位置i开始长度为len的字符。QString &remove(QChar c, Qt::CaseSensitivity cs Qt::CaseSensitive)&#xff1a;删除字符串中所…

SQL Wildcards 通配符

SQL Wildcards 通配符 通配符用于替换字符串中的任何其他字符。 通配符与 SQL LIKE 运算符一起使用。在 WHERE 子句中使用LIKE运算符来搜索列中的指定模式。 有两个通配符与 LIKE 运算符一起使用&#xff1a; &#xff05; - 百分号表示零个&#xff0c;一个或多个字符_ - 下…

【Linux】centOS7安装配置及Linux的常用命令---超详细

一&#xff0c;centOS 1.1 centOS的概念 CentOS&#xff08;Community Enterprise Operating System&#xff09;是一个由社区支持的企业级操作系统&#xff0c;它是以Red Hat Enterprise Linux&#xff08;RHEL&#xff09;源代码为基础构建的。CentOS提供了一个稳定、可靠且…

软件测试面试高频30道面试题

如果哪个测试经理在看我的文章&#xff0c;希望对面试者要微笑&#xff0c;不然面试结束&#xff0c;出门之后就一万个草泥马奔腾而过&#xff0c;其实面试者并不是希望你给他们什么&#xff0c;而是一种尊重&#xff0c;平等的谈话&#xff0c;不要高高在上感觉自己超牛逼一样…