news 2026/6/15 18:12:43

Linux-安装MySQL(详细教程)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux-安装MySQL(详细教程)

文章目录

  • 1 概述
  • 2 下载
  • 4 卸载
  • 5 常用设置
  • 6 可能遇到的问题

1 概述

MySQL是一种关系型数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。

  • 社区版:免费,但是不提供任何技术支持;
  • 商业版:收费,可以试用30天,官方提供技术支持。

2 下载

官网:https://www.mysql.com/

进入官网之后点击DOWNLOADS


进入页面;

这里选择Downloads Archives


进入页面,选择MySQL Community Server

根据你服务器的配置选择,我服务器是 CentOS 7 所以 Operating System 选择Red Hat Enterprise Linux / Oracle Linux,OS Version 选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86,64-bit),选择第一个点击Download下载。

以下我也提供了 MySQL 的安装包供大家使用,可以在指尖动听知识库公众号后台回复“mysql-8.0.26”获取下载资源。

3 安装

连上 Linux 服务器(这里的服务器我用的是云服务器),我先创建一个 mysql 的文件夹来存放安装包。

# 在 /soft 目录下创建一个空的文件夹 mysqlmkdir/soft/mysql# 进入这个新建的文件夹下cd/soft/mysql

然后上传之前下载好的 Linux 下 MySQL 的安装包,使用rz命令(有些终端工具是可以直接上传文件的,比如 FinalShell)。

在该目录下再创建一个文件夹,并且将安装包解压到该文件夹中。

# 在当前目录下(mysql)下创建一个 mysql-8.0.26 文件夹mkdirmysql-8.0.26# 解压安装包到该目录下tar-xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.26

解压完成之后可以切换到mysql-8.0.26目录下查看解压后的文件。

可以看到解压后的文件都是 rpm 文件,所以需要用到rpm包资源管理器相关的指令安装这些rpm的安装包。

在安装执行 rpm 安装包之前先下载一些插件,因为 mysql 里面有些 rpm 的安装依赖于该插件。

yuminstallopenssl-devel# 和yum -yinstalllibaio perl net-tools

安装完该插件之后,依次执行以下命令安装这些 rpm 包

rpm-ivh mysql-community-common-8.0.26-1.el7.x86_64.rpmrpm-ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpmrpm-ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpmrpm-ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpmrpm-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 包时提示 依赖检测失败,请详见文件末尾 可能遇到的问题 寻求解决方案。

在 Linux 中 MySQL 安装好了之后系统会自动的注册一个服务,服务名称叫做mysqld,所以可以通过以下命令操作 MySQL:

  • 启动 MySQL 服务:systemctl start mysqld
  • 重启 MySQL 服务:systemctl restart mysqld
  • 关闭 MySQL 服务:systemctl stop mysqld

这里先启动MySQL服务,启动需要一点时间,耐心等待一下

systemctl start mysqld

rpm 安装 MySQL 会自动生成一个随机密码,可在/var/log/mysqld.log这个文件中查找该密码

cat/var/log/mysqld.log

A temporay password is generated for root@localhost: 密码,这里我安装的 MySQL 生成的临时密码是:JAgc=S-:4fGC,账号是root,有了账号和密码之后就可以连接 MySQL 了。

# 连接 MySQLmysql -u root -p

到此 Linux 上安装 MySQL 基本结束。

4 卸载

卸载 MySQL 前需要先停止 MySQL;

命令:systemctl stop mysqld

停止 MySQL 之后查询 MySQL 的安装文件:rpm -qa | grep -i mysql

卸载上述查询出来的所有的 MySQL 安装包

rpm-e mysql-community-client-plugins-8.0.26-1.el7.x86_64 --nodepsrpm-e mysql-community-server-8.0.26-1.el7.x86_64 --nodepsrpm-e mysql-community-common-8.0.26-1.el7.x86_64 --nodepsrpm-e mysql-community-libs-8.0.26-1.el7.x86_64 --nodepsrpm-e mysql-community-client-8.0.26-1.el7.x86_64 --nodepsrpm-e mysql-community-libs-compat-8.0.26-1.el7.x86_64 --nodeps

删除MySQL的数据存放目录

rm-rf /var/lib/mysql/

删除MySQL的配置文件备份

rm-rf /etc/my.cnf.rpmsave

5 常用设置

(1)修改 root 用户密码

如果你觉得 MySQL 自动生成的密码太难记忆的话,可以连接 MySQL 之后进行修改密码

ALTERUSER'root'@'localhost'IDENTIFIEDBY'mike.8080';

这里可能会提示Your password does not satisfy the current policy requirements,意思是您的密码不符合当前规定的要求,你要么就把你的密码设置得复杂点,要么就去降低密码的校验规则。

在 Linux 上安装 MySQL 时会自动安装一个校验密码的插件,默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。修改密码时新密码是否符合当前的策略,不满足则会提示ERROR

官网上能查到这个密码校验的规则,文档中搜索:validate_password

所以可以将这个限制密码位数设小一点,复杂度类型调底一点

# 将密码复杂度校验调整简单类型setglobalvalidate_password.policy=0;# 设置密码最少位数限制为 4 位setglobalvalidate_password.length=4;

就可以设置较为简单的密码了。

(2)创建用户与权限分配

默认的 root 用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个新的账户,用于远程访问;

语法格式:CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>

# mysql 8.0 以下createuser'mike'@'%'IDENTIFIEDBY'mike8080';# mysql 8.0createuser'mike'@'%'IDENTIFIEDWITHmysql_native_passwordBY'mike8080';

PS:mysql8.0 的默认密码验证不再是 password 。所以在创建用户时,create user ‘username’@‘%’ identified by ‘password’; 客户端是无法连接服务的,所以在创建用户的时候需要加上WITH mysql_native_password

创建完用户之后还需要给用户分配权限,这里我将mike这个用户分配了所有的权限。

grantallon*.*to'mike'@'%';

关于用户、权限关联这块的内容可参考博客:http://u3v.cn/6j1UV6。

6 可能遇到的问题

(1)启动 MySQL 时提示Failed to start mysqld.service: Unit not found.

如果看到这个提示的话说明 mysql 安装失败了,我的建议是卸载重新安装。

(2)安装 rpm 包时提示依赖检测失败

情况一:因mariadb导致依赖检测失败;

解决办法卸载mariadb-libs

rpm-e mariadb-libs --nodeps

再重新安装失败的那个rpm

情况二:因libcrypto.so.10..导致依赖检测失败;

显示缺少了libcrypto..相关的依赖,而libcrypto..存在于openssl中,可以通过以下命令查看openssl是否安装。

openssl version

如果没有出现版本信息,则需要安装openssl,命令如下:

yuminstallopenssl

如果有版本信息,则查看版本是不是OpenSSL 1.1.1OpenSSL 1.1.1有兼容性的问题,通过:

ldconfig -p|greplibcrypto.so

或者:

ls-l /usr/lib64/libcrypto.so

是能看到有libcrypto相关的命令的,只不过是libcrypto.so.1.1的;

解决办法:compat-openssl10提供与不支持使用OpenSSL-1.1编译的早期版本和软件的兼容性,安装compat-openssl10

yuminstallcompat-openssl10

再重新安装失败的那个rpm包。

(3)远程连接时出错

这个错误提示出现的可能有很多,我就列举几个我能想到的吧

  • 首先去检查你的MySQL是否关掉了,如果关了的话重启再连接;
  • 服务器上面的防火墙是否是开着的状态,或者 3306 的端口是否对外开放;
  • 如果你的服务器是云服务器的话,需要去云服务器上面开放 3306 的端口。

第一种情况我就不赘述了,如果你的MySQL是安装在虚拟机上面的话,简单粗暴的方式是直接关闭防火墙

# 关闭防火墙systemctl stop firewalld.service# 查看防火墙的状态firewall-cmd --state# 禁止firewall开机启动systemctl disable firewalld.service

或者为了安全,只开放特定的端口号,MySQL默认端口是 3306

# 关闭防火墙systemctl stop firewalld.service# 3306 端口对外开放firewall-cmd --remove-port=3306/tcp --permanent# 重启防火墙firewall-cmd --reload

但是,如果你 MySQL 并不是安装在虚拟机上的,而是放到云服务器上面,那你必须还得在云服务上面开放这几个端口;

比方说我的 MySQL 是运行在 某某云 上面的,我就得做如下设置:找到我的服务器,点击 更多,选择 管理。

进入下一个页面之后,选择 防火墙;

添加3306端口对外开放。

测试连接:

文章版权归原作者所有,如有侵权,与本账号无关,可联系删除。 原文作者:多加点辣也没关系
原文链接:https://blog.csdn.net/xhmico/article/details/125197747

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 13:48:12

2026国产多模数据库盘点:一库多能主流方案清单

在数字化转型持续深化与信息技术应用创新加速推进的双重驱动下&#xff0c;“国产多模数据库”已成为政企核心系统架构升级的重要技术路径。所谓“一库多能”&#xff0c;是指单套数据库系统原生支持关系、文档、时序、向量、全文、图等多种数据模型&#xff0c;依托统一存储引…

作者头像 李华
网站建设 2026/6/15 13:44:18

Lua调C#:反射可行但坑多,慎入

摘要 Lua 调 C# 能不能直接用反射 Invoke?能,但要知道你在用“手摇发电机”,Lua 调 C# “可以”用类似反射Type.GetMethod().Invoke()的方式干活,但它更像是:你拿着螺丝刀也能修车,只是修一辆车你可能得修到天亮,而且跑着跑着还容易散架。下面我就用大白话,把“能不能…

作者头像 李华
网站建设 2026/6/15 3:00:01

亚远景-ISO/PAS 8800与全球汽车AI监管趋同下的中国企业合规策略与技术适配

一、ISO/PAS 8800的核心价值与全球监管趋势填补AI安全标准空白ISO/PAS 8800是国际首个针对汽车AI安全的权威标准&#xff0c;覆盖需求分析、系统设计、数据处理、验证确认、部署运维及持续监控六大阶段&#xff0c;形成全生命周期安全管理体系。其核心在于解决AI系统的“黑箱特…

作者头像 李华
网站建设 2026/6/15 16:18:27

多租户架构:根治企业多团队数据混乱的“外科手术刀”

当企业内多个团队在共享平台上各自为政时&#xff0c;数据混乱、权限模糊和安全风险便如影随形。而一把精准的“外科手术刀”正在彻底解决这个问题。 混乱的根源&#xff1a;企业数据隔离的原始困境 某天凌晨三点&#xff0c;某互联网公司的运维工程师小王被急促的警报声惊醒—…

作者头像 李华
网站建设 2026/6/15 13:48:13

在 Windows中,WSL与Docker的关系

WSL 是地基&#xff0c;Docker 是房子&#xff0c;而你的代码是在房子里的某个房间跑的。 1. 什么是 WSL (Windows Subsystem for Linux)&#xff1f; WSL 的全称是 Windows 下的 Linux 子系统。 它的作用&#xff1a; 让你在 Windows 电脑上&#xff08;不用双系统&#xff0…

作者头像 李华
网站建设 2026/6/10 15:12:28

2026年AI开发平台如何驱动金融、制造、零售的场景化落地?

通用型的AI工具已无法满足行业纵深需求。2026年&#xff0c;AI开发平台的竞争力将高度体现在其对垂直行业场景的深度理解与支撑能力上。金融、制造、零售作为数字化先锋行业&#xff0c;其智能化痛点与路径具有代表性。本文将剖析在这三大行业&#xff0c;2026年AI开发平台怎么…

作者头像 李华