MySQL安装『适用于 CentOS 7』

简介: MySQL安装『适用于 CentOS 7』

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
• 1

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

注: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


注:只要 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 mysql

接下来就可以尝试使用 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;


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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
12月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
4645 3
|
11月前
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
2467 4
MySQL源码编译安装
|
11月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
1843 4
MySQL二进制包安装
|
11月前
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
978 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
11月前
|
关系型数据库 MySQL Linux
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
本文介绍了在openSUSE系统上通过SUSE资源库安装MySQL 8.0和8.4版本的完整步骤,包括配置国内镜像源、安装MySQL服务、启动并验证运行状态,以及修改初始密码等操作,适用于希望在SUSE系列系统中快速部署MySQL的用户。
977 3
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
|
11月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
1005 6
|
12月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2645 16
|
11月前
|
运维 Ubuntu 关系型数据库
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
本文介绍了在Debian系列系统(如Ubuntu、Debian 11/12)中通过APT仓库安装MySQL 8.0和8.4版本的完整步骤,涵盖添加官方源、配置国内镜像、安装服务及初始化设置,并验证运行状态,适用于各类Linux运维场景。
2884 0
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
|
11月前
|
Oracle 关系型数据库 MySQL
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
本文详细介绍在Rocky、CentOS、AlmaLinux、openEuler等主流Linux系统上,通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,涵盖下载、依赖处理、rpm/yum安装、服务启动、密码设置等关键环节,适用于多种企业级环境部署需求。
3341 0
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)