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…...
PLC工程师必备:用S7-1200的Slice寻址实现产线IO信号高效映射(附TIA Portal工程文件)
PLC工程师实战:S7-1200 Slice寻址在产线IO信号映射中的高阶应用 走进任何现代化生产车间,设备与控制系统之间的信号交互如同神经系统般密集而精确。作为自动化工程师,我们常常需要处理成百上千个数字量信号——从光电传感器的触发到电磁阀的开…...
Arduino nRF5x低功耗库:深度解析SYSTEM_OFF与CONSTANT_LATENCY模式
1. 项目概述 Arduino nRF5x_lowPower 是专为 Nordic Semiconductor nRF5x 系列 SoC(如 nRF52832、nRF52840、nRF51822)设计的 Arduino 兼容低功耗管理库。它并非简单封装睡眠函数,而是深度对接 nRF5x 片上电源管理单元(PMU&…...
如何告别网盘限速:八大平台直链下载助手完全指南
如何告别网盘限速:八大平台直链下载助手完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 …...
DISM++实战指南:高效精简Windows系统的五大技巧
1. 为什么你需要DISM来精简Windows系统 每次打开电脑,看着C盘一点点变红,系统运行越来越慢,是不是有种无力感?作为一个用了10年Windows的老用户,我深知系统臃肿的痛苦。直到遇到DISM,这个不到10MB的小工具彻…...
从视频到网格:基于Colmap与OpenMVS的自动化三维重建实战
1. 三维重建技术入门:从视频到网格的魔法之旅 想象一下,你手里有一段普通的手机视频,可能是绕着某个物体拍摄的简单环绕画面。通过今天要介绍的技术,这段视频可以神奇地变成一个带纹理的三维模型,就像变魔术一样。这就…...
zq—算法基础:时空复杂度()咸
一、什么是setuptools? setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你: 定义 Python 包的元数据(如名称、版本、作者等)。 声明包的依赖项,确保你的包能够正确运行。 构建源代码分发包&…...
MATLAB中矩阵转置
该MATLAB代码演示了图像处理和矩阵操作的基本功能。首先清除工作环境并读取图像文件,然后将图像矩阵转置存储为十六进制文本文件。代码展示了矩阵转置操作(A和C)及不同维度的表示方法,其中创建了640512的零矩阵C及其转置矩阵D。关…...
Midscene.js:用自然语言轻松实现全平台UI自动化的终极解决方案
Midscene.js:用自然语言轻松实现全平台UI自动化的终极解决方案 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 还在为编写复杂的自动化脚本而烦恼吗&…...
3分钟掌握AltDrag:Windows窗口拖拽的革命性操作体验
3分钟掌握AltDrag:Windows窗口拖拽的革命性操作体验 【免费下载链接】altdrag :file_folder: Easily drag windows when pressing the alt key. (Windows) 项目地址: https://gitcode.com/gh_mirrors/al/altdrag 你是否厌倦了每次都要精准点击标题栏才能移动…...
终极虚拟机检测指南:如何用VMDE轻松识别虚拟环境
终极虚拟机检测指南:如何用VMDE轻松识别虚拟环境 【免费下载链接】VMDE Source from VMDE paper, adapted to 2015 项目地址: https://gitcode.com/gh_mirrors/vm/VMDE 你是否曾经好奇过,你的电脑是否运行在虚拟环境中?或者你是否需要…...
