当前位置: 首页 > news >正文

CentOS7离线安装Mysql8

第一步:对当前系统的软件环境做检查

检查是否存在已有的mysql相关服务

rpm-qa|grepmysql

如果存在使用rpm命令删除,后面的--nodeps是强制删除的意思

#按需停止servicemysql stoprpm–e 自带的mysqlrpm包--nodeps

查找留存的残留文件,如有使用rm命令删掉

find/-namemysql

手动将系统自带的mysql配置文件删掉

rm-rf/etc/my.cnf

更新需要的yum环境

yum-yinstallautoconf libaio perl

删除系统自带的mysql-libs

yum remove mysql-libs

第二步:下载安装包

执行下面的命令,查看当前系统glibc版本

rpm-qa|grepglibc

进入官网的下载页面,选择符合版本的安装包,官网-》https://dev.mysql.com/downloads/mysql/

下载界面会看到如下包,一般情况下,用的最多的是Compressed TAR ArchiveTARCompressed TAR Archive是完整的mysql安装文件,TAR比它多了一个测试用的资源包和一个mysql官方提供的负载均衡和故障转移的中间件,我们个人或非专业DBA不需要,下载Compressed TAR Archive即可

当然如果你的带宽足够,可以直接使用wget下载

wgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

当然如果网络慢,可以在阿里镜像中下载:https://mirrors.aliyun.com/mysql/MySQL-8.0/,在阿里云中你可以直接下载不依赖glib的x86包,也就是mysql-8.0.27-el7-x86_64.tar,对应的就是官网TAR全包,后面的安装流程是一样的

第三步:解压mysql安装包

tar-xfmysql-8.0.42-linux-glibc2.17-x86_64.tar.xz

解压后得到的文件就是mysql服务的完全本体,按照个人需要放在合适的位置即可,这里正常放在 /opt 下 ,不过业内常规习惯是放在/usr/local/mysql

mvmysql-8.0.42-linux-glibc2.17-x86_64 /opt/mysql8

第四步:创建服务运维用户,以及数据储存路径

由于都是oracle下的东西,所以和oracle数据库一样最好是准备一个用户,当然mysql被没有和oracle那样强制不允许使用root用户

# 创建数据目录mkdir-p/opt/mysqlData# 创建用户组和用户groupaddmysqluseradd-r-gmysql mysqlchownmysql:mysql-R/opt/mysqlDatachownmysql:mysql-R/opt/mysql8

第五步:新建并编写配置文件/etc/my.cnf,位置可以自定义

vi/etc/my.cnf# 添加以下内容[mysqld]#数据库监听的地址bind-address=0.0.0.0#端口port=3306#操作数据库的用户user=mysql#你mysql的本体放在哪里了basedir=/opt/mysql8#存储数据的路径datadir=/opt/mysqlData#mysql通讯文件存放位置socket=/opt/mysqlData/mysql.sock#日志log-error=/opt/mysqlData/mysql.err#进程文件pid-file=/opt/mysqlData/mysql.pid#字符集character_set_server=utf8 collation-server=utf8_general_ci symbolic-links=0explicit_defaults_for_timestamp=true#考虑是否关闭严格模式,这个模式对一些语句执行有影响sql_mode=NO_ENGINE_SUBSTITUTION#允许最大连接数max_connections=10000#允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统max_connect_errors=10# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB[mysql]#设置mysql客户端连接时的默认字符集default-character-set=utf8# 支持的监听地址bind-address=0.0.0.0[client]#设置mysql客户端连接服务端时默认使用的端口和会话文件位置port=3306socket=/opt/mysqlData/mysql.sock

第六步:初始化

进入mysql解压路径的bin目录

cd/opt/mysql8/bin

使用下面的命令初始化mysql,注意参数需要和配置文件里面写的一样

./mysqld --defaults-file=/etc/my.cnf--basedir=/opt/mysql8--datadir=/opt/mysqlData--user=mysql--initialize

正常执行不报错后,在/opt/mysqlData/mysql.err中的最后一行看初始密码

[root@node1 bin]# cat /opt/mysqlData/mysql.err2025-05-11T09:40:51.434146Z0[Warning][MY-011070][Server]'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it'is deprecated and will be removedina future release.2025-05-11T09:40:51.434353Z0[System][MY-013169][Server]/opt/mysql8/bin/mysqld(mysqld8.0.42)initializing of serverinprogress as process13152025-05-11T09:40:51.447481Z1[System][MY-013576][InnoDB]InnoDB initialization has started.2025-05-11T09:40:51.684086Z1[System][MY-013577][InnoDB]InnoDB initialization has ended.2025-05-11T09:40:53.168154Z6[Note][MY-010454][Server]A temporary password is generatedforroot@localhost: paz;aTt%<4Ko

将mysql本体中的启动脚本拷贝到linux系统的系统文件夹下面

cp/opt/mysql8/support-files/mysql.server /etc/init.d/mysql

随后就可以使得linux识别mysql的服务启动命令

[root@node1 bin]# service mysql startStarting MySQL. SUCCESS!

第七步:配置环境变量,并按需使用mysql

服务启动后,将mysql本体的bin目录配置到环境变量里面

vi/etc/profile 追加:exportPATH=$PATH:/opt/mysql8/binsource/etc/profile

使用初始密码登录mysql,并修改密码,注意!!!第一次连接不要显示的直接-p携带初始密码

直接执行: mysql-uroot-p随后在跳出的密码输入界面输入初始密码即可
[root@node1 bin]# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with;or\g. Your MySQL connectionidis9Server version:8.0.42 Copyright(c)2000,2025, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type'help;'or'\h'forhelp. Type'\c'toclearthe current input statement. mysql>

修改初始密码

ALTERUSER'root'@'localhost'IDENTIFIED BY'新密码';FLUSH PRIVILEGES;

更改连接域

use mysql;UPDATE user SEThost='%'WHEREuser='root';FLUSH PRIVILEGES;

让mysql随系统启动

chkconfigmysql on

到此安装就结束了

http://www.jsqmd.com/news/761315/

相关文章:

  • NetHack地牢生态系统解析:怪物间的互动与食物链
  • 终极DDIA中文翻译指南:从理论到实践的完整学习路径
  • 观察Taotoken按Token计费模式如何实现用量与成本的精准对应
  • Circuit如何实现零配置动态云编排?核心技术解析
  • V ) 连同这些运算**不构成向量空间**。主要违反的是标量乘法的**标量加法对向量的分配律**: 。这个定义的标量乘法只影响第一分量,而加法会“累加”第二分量
  • 数据结构与算法——图
  • LuaSocket LTN12模块:流式传输与过滤器的终极指南
  • 【数据结构与算法】——单链表(上)
  • gganimate完全指南:如何在R中创建惊艳的数据动画可视化
  • 通过Taotoken CLI工具一键配置多开发环境与团队密钥
  • 别再只会Ctrl+B了!IDEA 2023.3 UML类图高阶玩法:自定义视图与依赖分析实战
  • 如何使用React Native Elements打造专业级游戏商店界面:完整指南
  • 机器人预训练与微调环境搭建实战指南
  • huangSir-devops
  • 如何防范模型安全威胁:对抗性攻击与防御机制终极指南
  • 让AI看懂数据流:在快马平台智能解析sscom捕获的未知设备协议
  • ComfyUI Essentials终极指南:如何用3分钟补齐ComfyUI缺失的核心功能
  • Happy Island Designer三部曲:从零到90%效率提升的岛屿设计秘籍
  • 从MoCo到SimCLR:我如何用8块GPU复现顶会对比学习实验(附完整代码与踩坑记录)
  • iOS 15-16激活锁绕过终极指南:让你的闲置iPhone重获新生
  • 基于JSON Schema的OpenClaw Web配置面板设计与实现
  • 2026北京灭火器回收指南:北京七氟丙烷回收/北京七氟丙烷检测/北京七氟丙烷灭火器回收/北京七氟丙烷灭火器检测/选择指南 - 优质品牌商家
  • 嵌入式开发依赖管理革命:Zephyr专用包管理器OpenManager详解
  • 猫抓Cat-Catch:终极浏览器资源嗅探与下载完整指南
  • UML模型到嵌入式代码的优化转换原理与实践
  • 从ELF文件‘减肥’说起:手把手教你用readelf和objdump分析strip前后的动态库变化
  • DXY-COVID-19-Crawler开发者指南:深入理解爬虫架构与数据存储
  • 效率提升:用快马智能生成java八股文知识卡片与测试代码库
  • 2026年4月咸蛋黄产品推荐,咸蛋黄咸香与奶香结合 - 品牌推荐师
  • 低查重AI教材写作:实用工具推荐,快速生成专业教材!