MySQL 8 手动安装后无法启动的问题解决
开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(共1730人左右 1 + 2 + 3 + 4 +5) 4群(230+),另欢迎 OpenGauss 的技术人员加入。
首先的自我检讨与自我批评,最近有点懒,知识的更新慢,最近在更换系统到ubuntu 22.04 ,废弃centos ,同时MYSQL 都在8 以上,之前MySQL都是在CENTOS 7.5 上安装,并且也都自动化安装,基本上没有问题,但到了ubuntu 22.04 基于对于系统的不熟悉, 产生很多的问题。
今天就梳理一下,转换了系统对于MySQL 8 安装中的一些问题,在说这些问题的之前,需要对系统的知识进行一个 review ,在新的操作系统中引入了systemd 作为init系统的替代品。
之前的LINUX 系统是通过INIT 系统来关系服务器中的进程,通过读取并执行/etc/inittab文件来确定要启动的进程,文件对于程序允许的级别进行了定义,每个运行的级别都有对应的目录,其中包含了该级别下所需要的启动服务脚本,INIT 通过运行的级别来配置信息,启动或停止相关的进程等,启动时会根据依赖关系逐个启动,但问题在于INIT 的系统启动的方式,由于串行的方式导致启动的速度慢,无法有效利用多核心的树立起,和并行能力,基于这个问题,操作系统推出了
SYSTEMD,UPSTART, OpenRC 等方式来进行替代,常见的替换的方式是systemd.
SYSTEMD 作为服务系统启动和管理的初始化管理有以下的一些特性和功能
1 并行启动,与传统的放回寺不同systemd 可以将启动的任务分配给多个CPU ,同时根据依赖关系,稳定可靠的只能排序,提高启动效率。
2 依赖关系的处理,在systemd 中可以表名服务和服务之间的依赖关系,他将自动解析依赖关系,并正确的按照流程启动依赖的程序
3 服务控制,systemd 提供完善的命令和工具来管理系统服务,通过 systemctl命令来启动和停止重启,冲加载服务和查询服务的状态,方面的分析系统状态和故障信息。
那么我的问题出现在哪里,在安装MYSQL8 到 ubuntu系统中时,在安装ubuntu 的时候,如果安装的账号中包含mysql将无法进行下一步,ubuntu 在账号中保留了mysql 作为保留账号。相关的处理,必须在安装系统后,在进行。
当然这不是本期要说的核心问题,在之前安装完MYSQL 后,直接将support-files 下的mysql.server 拷贝到 /etc/init.d/ 变换名字,直接就可以运行了,如 service mysqld start
mysql@mysql:/usr/local/mysql/support-files$ sudo service mysqld start
Failed to start mysqld.service: Unit mysqld.service not found.
mysql@mysql:/usr/local/mysql/support-files$
这里按照原有的方式来去启动MySQL 失败了,错误提示
failed to start mysqld.service : Unit mysqld.service not found
,错误提示缺少 mysqld.service
mysql@mysql:/usr/local/mysql/support-files$ sudo service mysqld start
mysql@mysql:/usr/local/mysql/support-files$ ps -ef | grep mysql
mysqlad+ 1848 1 0 06:53 ? 00:00:00 /lib/systemd/systemd --user
mysqlad+ 1849 1848 0 06:53 ? 00:00:00 (sd-pam)
mysqlad+ 1857 1756 0 06:53 tty1 00:00:00 -bash
root 2830 2017 0 07:19 pts/0 00:00:00 su - mysql
mysql 2831 2830 0 07:19 pts/0 00:00:00 -bash
mysql 3116 1 0 07:29 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
mysql 3206 3116 12 07:29 ? 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=mysql.err --pid-file=/usr/local/mysql/data/mysql.pid
mysql 3251 2831 0 07:29 pts/0 00:00:00 ps -ef
mysql 3252 2831 0 07:29 pts/0 00:00:00 grep --color=auto mysql
mysql@mysql:/usr/local/mysql/support-files$
因为基于手动二进制值的方式进行的MySQL的安装,导致按照之前的经验直接将support_file中的文件放置到 /etc/init.d/ 中就可以进行数据库的启动和关闭,但是到了ubuntu 22.04 版本,即使使用service 命令来启动数据库或进行数据库的关闭,还是会通过systemd 来进行服务的管理,所以在对应的位置中必须有 mysqld.service 的文件和内容。
这里在测试中,mysqld.service 必须放置在一下位置的任意之一
/etc/systemd/system
/usr/lib/systemd/system
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target[Install]
WantedBy=multi-user.target[Service]
User=mysql
Group=mysql
Type=forking
TimeoutSec=0# Execute pre and post scripts as root
PermissionsStartOnly=true# Start main service
# 启动脚本
ExecStart=/usr/local/mysql/support-files/mysql.server start#ExecStart=/bin/bash -c "(/usr/local/mysql/bin/mysqld_safe --defaults-file=/${db_home_dir}/${node}_cnf_${port_num}/${db_type}.cnf>/dev/null &)"
#ExecReload=/bin/kill -s HUP \$MAINPID# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysqlRestart=on-failure
RestartPreventExitStatus=1
# OOM保护
OOMScoreAdjust=-1000PrivateTmp=false
在补充了这个文件后,再次通过原来的方式启动mysql 8.035
mysql@mysql:/usr/lib/systemd/system$ sudo systemctl restart mysqld
mysql@mysql:/usr/lib/systemd/system$ sudo systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/etc/systemd/system/mysqld.service; disabled; vendor preset: enabled)Active: active (running) since Wed 2023-11-22 08:20:57 UTC; 5s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 3688 ExecStart=/usr/local/mysql/support-files/mysql.server start (code=exited, status=0/SUCCESS)Main PID: 3696 (mysqld_safe)Tasks: 39 (limit: 9232)Memory: 362.7MCPU: 807msCGroup: /system.slice/mysqld.service├─3696 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql>└─3786 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=>Nov 22 08:20:56 mysql systemd[1]: Starting MySQL Server...
Nov 22 08:20:56 mysql mysql.server[3688]: Starting MySQL
Nov 22 08:20:57 mysql mysql.server[3688]: . *
Nov 22 08:20:57 mysql systemd[1]: Started MySQL Server.
当然也可以通过新的systemctl 的方式来进行数据库的操作。
通过这件事,意识到
1 知识的连贯性和关联性, 系统知识和数据库之间是有密切关系的,系统的升级和更换必然会引起知识的更新
2 持续的学习的重要性
相关文章:

MySQL 8 手动安装后无法启动的问题解决
开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(…...

难怪被人卷了不知道啊!这么学自动化测试,一个星期就搞定了!!!
目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够明白自动化测试并很好落地实施的团队还不是非常多,我们接来下用通俗的方式来介绍自动化测试…… 首先我们从招聘岗位需求说起。看近期的职…...
每日OJ题_算法_双指针⑦力扣15. 三数之和
目录 力扣15. 三数之和 解析代码 力扣15. 三数之和 难度 中等 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三…...

【计算机网络学习之路】日志和守护进程
文章目录 前言一. 日志介绍二. 简单日志1. 左字符串2. 右字符串 三. 守护进程1. ps -axj命令2. 会话扩展命令 3. 创建守护进程 结束语 前言 本系列文章是计算机网络学习的笔记,欢迎大佬们阅读,纠错,分享相关知识。希望可以与你共同进步。 本…...

foobar2000 突然无法正常输出DSD信号
之前一直在用foobar2000加外置dac听音乐,有一天突然发现听dsd的时候,dac面板显示输出的是PCM格式信号,而不是DSD信号,这让我觉得很奇怪,反复折腾了几次,卸载安装驱动什么的,依然如此,…...

鸿蒙HarmonyOS 编辑器 下载 安装
好 各位 之前的文章 注册并实名认证华为开发者账号 我们基实名注册了华为的开发者账号 我们可以访问官网 https://developer.harmonyos.com/cn/develop/deveco-studio 在这里 直接就有我们编辑器的下载按钮 我们直接点击立即下载 这里 我们根据自己的系统选择要下载的系统 例…...

机器学习第13天:模型性能评估指标
☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 交叉验证 保留交叉验证 k-折交叉验证 留一交叉验证 混淆矩阵 精度与召回率 介绍 精度 召回率 区别 使用代码 偏差与方差 介绍 区…...
Elasticsearch基础优化
分片策略 分片和副本得设计为ES提供支付分布式和故障转移得特性,但不意味着分片和副本是可以无限分配, 而且索引得分片完成分配后由于索引得路由机制,不能重新修改分片数(副本数可以动态修改) 一个分片得底层为一个l…...

【Amazon】通过直接连接的方式导入 KubeSphere集群至KubeSphere主容器平台
文章目录 一、设置主集群方式一:使用 Web 控制台方式二:使用 Kubectl命令 二、在主集群中设置代理服务地址方式一:使用 Web 控制台方式二:使用 Kubectl命令 三、登录控制台验证四、准备成员集群方式一:使用 Web 控制台…...

三数之和问题
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1&…...

【JavaEE】多线程 (2) --线程安全
目录 1. 观察线程不安全 2. 线程安全的概念 3. 线程不安全的原因 4. 解决之前的线程不安全问题 5. synchronized 关键字 - 监视器锁 monitor lock 5.1 synchronized 的特性 5.2 synchronized 使⽤⽰例 1. 观察线程不安全 package thread; public class ThreadDemo19 {p…...
关于点胶机那些事
总结一下点胶机技术要点: 1:不论多复杂的点胶机,简单点,可以简化为:1:运控 2:点胶,3:检测 运控的目的就是负责把针头移到面板对应的胶路上,点胶即就是排胶&…...

Python | CAP - 累积精度曲线分析案例
CAP通常被称为“累积精度曲线”,用于分类模型的性能评估。它有助于我们理解和总结分类模型的鲁棒性。为了直观地显示这一点,我们在图中绘制了三条不同的曲线: 一个随机的曲线(random)通过使用随机森林分类器获得的曲线…...
ubuntu22.04安装swagboot遇到的问题
一、基本情况 系统:u 22.04 python: 3.10 二、问题描述 swagboot官方提供的安装路径言简意赅:python3 -m pip install --user snagboot 当然安装python3和pip是基本常识,这里就不再赘述。 可是在安装的时候出现如下提示说 Failed buildin…...
python每日一题——8无重复字符的最长子串
题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串…...

【数据中台】开源项目(2)-Dbus数据总线
1 背景 企业中大量业务数据保存在各个业务系统数据库中,过去通常的同步数据的方法有很多种,比如: 各个数据使用方在业务低峰期各种抽取所需数据(缺点是存在重复抽取而且数据不一致) 由统一的数仓平台通过sqoop到各个…...

职场快速赢得信任
俗话说的好,有人的地方就有江湖。 国内不管是外企、私企、国企,职场环境都是变换莫测。 这里主要分享下怎么在职场中快速赢取信任。 1、找到让自己全面发展的方法 要知道,职场中话题是与他人交流的纽带,为了找到共同的话题&am…...

【SpringBoot3+Vue3】五【完】【实战篇】-前端(配合后端)
目录 一、环境准备 1、创建Vue工程 2、安装依赖 2.1 安装项目所需要的vue依赖 2.2 安装element-plus依赖 2.2.1 安装 2.2.2 项目导入element-plus 2.3 安装axios依赖 2.4 安装sass依赖 3、目录调整 3.1 删除部分默认目录下文件 3.1.1 src/components下自动生成的…...

[LaTex]arXiv投稿攻略——jpg/png转pdf
一、将图片复制进ppt,右键单击图片选择设置图片格式,获取图片高度和宽度 二、选择“设计-幻灯片大小-自定义幻灯片大小” 三、设置幻灯片大小为图片大小 四、 选择“最大化” 五、 检查幻灯片大小是否与图像大小一致 六、导出为PDF...

使用Pytorch从零开始构建GRU
门控循环单元 (GRU) 是 LSTM 的更新版本。让我们揭开这个网络的面纱并探索这两个兄弟姐妹之间的差异。 您听说过 GRU 吗?门控循环单元(GRU)是更流行的长短期记忆(LSTM)网络的弟弟,也是循环神经网络&#x…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...

【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...