百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

【终于成功了】Centos7安装mysql-5.7.38

itomcoil 2025-07-21 14:46 2 浏览

之前用centos8安装mysql-8,rocky10安装mysql都失败了,因为版本问题,最后mysql都没法执行

见上文:

【入门】【失败】Linux下
mysql-8.0.22-linux-x64.tar.gz 安装

【入门】rocky10上安装mysql

这次换低版本学习和测试验证

相关说明

安装文件:mysql-5.7.38-linux-x64.tar.gz
mysql安装目录:/usr/local/mysql
mysql上传临时目录:/tmp/down/

一、拷贝文件到Linux服务器

#windows下拷贝文件到Linux服务器
scp E:\\appFiles\\vmware\\soft\\mysql\\mysql-5.7.38-linux-x64.tar.gz fuzhx@192.168.203.133:/tmp/down/

  


二、创建存放目录和解压

#创建目录
sudo mkdir -p /usr/local/mysql
#解压
sudo tar -zxvf mysql-5.7.38-linux-x64.tar.gz
#移动文件到mysql目录
sudo mv mysql-5.7.38-linux-x64/* /usr/local/mysql



三、创建 MySQL 用户和组

# 创建mysql用户组和用户
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

# 设置目录权限
sudo chown -R mysql:mysql /usr/local/mysql


四、创建数据目录并初始化

# 创建数据目录
sudo mkdir -p /data/mysql
sudo chown -R mysql:mysql /data/mysql

# 进入mysql的目录
cd /usr/local/mysql

# 初始化MySQL(生成初始密码)
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

# 记录初始化生成的临时密码(重要!后续登录需要)
grep 'temporary password' /data/mysql/error.log


执行bin/mysqld --initialize后,控制台输出有mysql的临时root密码:pjh#n2ACpqu<

2025-06-28T02:04:07.619057Z 1 [Note] A temporary password is generated for root@localhost: pjh#n2ACpqu<

五、配置 MySQL 服务

# 创建my.cnf配置文件
sudo vi /etc/my.cnf

# 添加以下内容(根据需求调整)
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /tmp/mysql.sock
port = 3306
character-set-server = utf8mb4
default-storage-engine = InnoDB
innodb_buffer_pool_size = 512M
skip-name-resolve = 1

[client]
socket = /tmp/mysql.sock
default-character-set = utf8mb4

vim后,原先内容我都注释掉,改用上面的配置


六、启动 MySQL 服务

# 复制服务脚本
sudo cp support-files/mysql.server /etc/init.d/mysqld
sudo chmod +x /etc/init.d/mysqld

# 设置开机自启
sudo chkconfig --add mysqld
sudo chkconfig mysqld on

# 启动MySQL
sudo service mysqld start

# 验证服务状态
sudo service mysqld status


七、配置环境变量

# 编辑bashrc文件
echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile

# 使配置生效
source /etc/profile

/etc/profile原先的内容


执行脚本echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile配置完毕后的内容



八、安全初始化

mysql这个命令,我之前在centos8安装时候,老是失败执行不了,这次是关键点了

# 使用临时密码登录
mysql -u root -p

# 修改root密码(替换为强密码)
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword123!';
ALTER USER 'root'@'localhost' IDENTIFIED BY 'db.13579';

# 删除匿名用户(可选)
DELETE FROM mysql.user WHERE User='';

# 禁止root远程登录(可选)
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');

# 删除测试数据库(可选)
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';

# 刷新权限
FLUSH PRIVILEGES;

mysql访问成功了:

修改密码和刷新权限:

九、windows电脑终端测试一下访问

telnet 192.168.203.133 3306

访问失败,需要考虑开启Linux防火墙(安全可选)

十、配置防火墙(可选)

# 开放MySQL端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload


十一、验证安装

# 检查MySQL版本
mysql --version

# 使用新密码登录
mysql -u root -p


十二、windows侧登录验证

mysql -h 192.168.203.133 -u root -p


报错:

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -h 192.168.203.133 -u root -p
Enter password: ********
ERROR 1130 (HY000): Host '192.168.203.1' is not allowed to connect to this MySQL server

需要mysql授权连接

十三、在 MySQL 服务器上授权远程访问

方式一:授权指定 IP 访问

如果你确认客户端 IP 是 192.168.203.1,则在 MySQL 服务器上执行:

-- 使用 root 用户登录 MySQL
mysql -u root -p

-- 授权 root 用户从 192.168.203.133 访问,并设置密码
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.203.1' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.203.1' IDENTIFIED BY 'db.13579' WITH GRANT OPTION;

-- 刷新权限表
FLUSH PRIVILEGES;




方式二:授权所有 IP 访问(不推荐,仅用于测试)

若需允许任意 IP 访问(存在安全风险):

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

windows的cmd下再次验证:


安装终于成功了

相关推荐

Ollama使用指南【超全版】(olal la)

一、Ollama快速入门Ollama是一个用于在本地运行大型语言模型的工具,下面将介绍如何在不同操作系统上安装和使用Ollama。官网:https://ollama.comGithub:http...

电脑怎么优化(电脑怎么优化性能)

电脑配置和宽带流量也是硬件,但这些要求其实并不需要很高,关键还是怎么去安全使用电脑并进行有效的优化。电脑的应用和优化处理一、电脑的应用和优化处理二、目前,大家使用的个人电脑,配置方面均没多大问题,比如...

电脑win7中那些使用最频繁的命令原来这么丝滑,太顺手了

windows7是目前为止办公家用使用占比较大的操作系统,它的很多操作和整洁的界面让人不想替换,况且,对计算机硬件的支持也是很完美的!虽然目前主流的牛夫人win10和小甜甜win11已经占据了很大一边...

.NetCore 设置环境变量(.net core环境搭建)

.NetCore设置环境变量开发过程中经常要发布一个版本到测试服上给测试人员测试,可能需要直接输出错误信息,需要设置环境变量为Development,如果是IIS可以设置web.config环境变量...

「分享」非常全面的CentOS7系统安全检测和加固脚本

CentOS7系统检测和加固脚本脚本来源:https://github.com/xiaoyunjie/Shell_Script主要是为了Linux系统的安全,通过脚本对Linux系统进行一键检测和一键...

手把手带你进行Golang环境配置(golang运行时配置文件目录)

前言大家好,我是星期八,是一个每天都要在镜子前给自己梳仅剩三根头发的三年码农本次我们来安排一下如何在win平台上配置Go语言开发环境。整体来说,Go配置环境还是挺轻松的,和Python差不多,并且会自...

Elasticsearch 的用户名和密码设置

在Elasticsearch中,用户名和密码的设置取决于安装方式和版本。以下是详细说明:1.Elasticsearch<7.x版本默认无安全认证早期版本默认不启用安全功能,无需用户名...

gpeditmsc找不到文件的解决方法亲测有效

  Gpedit.msc找不到文件的怎么办?Gpedit.msc是用于打开Windows系统组策略的命令程序,缺少它系统会弹出“Gpedit.msc找不到”、“Gpedit.msc打不开”等提示,那么...

Win7命令提示符输入taskkill提示不是内部或外部命令

使用win7系统的用户,想在命令提示符下使用taskkill命令删掉进程的时候,却提示taskkill不是内部或外部命令,也不是可运行的程序,遇到这样的问题,这位用户不知道怎么解决。所以给大家带来了解...

如何使用VSCode+gdbserver远程调试ZMC900E

由于嵌入式设备资源受限,通常无法在其上安装庞大的IDE调试程序,且许多嵌入式系统并无桌面环境。为了方便调试自开发程序,本文介绍利用VSCode与gdbserver进行嵌入式设备上程序的远程调试方法。...

系统优化 命令行也可以这么6?(进行系统优化)

由于命令行的简洁、高效,平时很多操作我们都爱使用命令行来完成。不过系统自带的命令行使用起来有各种不方便,如很多命令自带Y/N开关,这些命令需要手动输入Y/N才能完成,如果自行安装的命令行则要进入安装目...

不借助Linux系统,在Windows下如何搭建ZMC900E交叉编译环境

不需要依赖笨重的虚拟机,也不需要安装双系统。抛开繁琐的环境准备,在Windows上轻松搭建交叉编译环境。本文将介绍如何在Windows上搭建交叉编译环境,不借助Linux系统,直接进行交叉编译。前言...

超详细的rabbitmqctl管理和监控RabbitMQ命令总结

概述MQ全称为MessageQueue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序...

《Windows 学习:100 条命令大全》内容总结

一、文件与目录管理1.基础操作dir:用于列出当前目录下的文件和子目录。在命令提示符中输入dir,即可显示当前目录的内容,如文件名称、大小、修改日期等信息。若想查看隐藏文件,可使用dir/a命令。...

Python 3.14 新特性盘点,更新了些什么?

Python3.14.0稳定版将于2025年10月正式发布,目前已进入beta测试阶段。这意味着在往后的几个月里,3.14的新功能已冻结,不再合入新功能(除了修复问题和完善文档)。3...