• centOS7中启动MySQL数据库提示: Failed to start mysqld.service Unit not found


    现象:

    在centOS7中启动MySQL数据库提示:

    Failed to start mysqld.service: Unit not found
    
    • 1

    原因猜测:

    在CentOS7中已经不在推荐使用mysql,甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险。

    绕过此问题的几种方案:

    鉴于一直有人呛我,说什么解决MySQL的问题安装MariaDB干什么,我确实也挺无语的。我觉得解决问题应该以结果为导向,问题能得到解决,我觉得就是好办法。

    MariaDB的方式确实也是借鉴的大家主流的做法,为此我还专门去外网查了查国外大佬都是怎么解决的,发现也有很多是采用MariaDB替代MySQL:

    https://stackoverflow.com/questions/31067135/in-centos7-can-not-start-mysql
    https://www.linode.com/community/questions/17652/failed-to-start-mysqldservice-unit-not-found
    
    • 1
    • 2

    好了好了,不多说了,下面介绍3种解决方案:

    (1)首先介绍,来自评论区的方法

    说我百度复制的哥哥的评论他自己删除了,还好我这里有记录啊
    在这里插入图片描述

    他当初还剖出了自己写的文章的地址,他自己在我的评论里删了,我给你剖出来:

    https://blog.csdn.net/shenhaiyushitiaoyu/article/details/121396643?spm=1001.2014.3001.5501
    
    • 1

    这种方法我自己并没有验证,思路就是查找mysql.service这个文件,然后将这个文件复制到/etc/init.d目录下,这里我就不详细展开了,免得人家说我抄袭,但我网上查了查,类似的做法以前也早就有了,也很难说你就是原创的。

    https://blog.csdn.net/q908544703/article/details/91376995
    https://blog.csdn.net/luChenH/article/details/104376913
    
    • 1
    • 2

    (2)其次介绍,'抄’来的MariaDB方式:

    MariaDB是MySQL另起炉灶的开源版本,如同 MySQL 的影子版本,MariaDB数据库是 MySQL 的一个分支版本(branch),提供的功能可和 MySQL 完全兼容。

    1、首先需要安装mariadb-server

    yum install -y mariadb-server
    
    • 1

    2、启动服务

    systemctl start mariadb.service
    
    • 1

    3、添加到开机启动

    systemctl enable mariadb.service
    
    • 1

    4、进行一些安全设置,以及修改数据库管理员密码

    mysql_secure_installation
    
    • 1

    在这里插入图片描述
    5、mysql给root开启远程访问权限

    use mysql;
    select User,authentication_string,Host from user;
    
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
    flush privileges;
    
    exit;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    可能出现的问题:

    MariadDB 启动时报错

    Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
    
    • 1

    解决方法:

    [root@cdh01 mysql]# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
    cp: overwrite ‘/etc/my.cnf’? y
    [root@cdh01 mysql]# systemctl start mariadb.service
    
    • 1
    • 2
    • 3

    (3)最后,不认同MariadDB 的人可以选择docker方式:

    我们公司打从前年就已经开始拥抱虚拟化了,不认同MariadDB 非要使用MySQL的人可以选择使用docker部署,docker部署也更加简单:

    1、首先要部署docker服务:

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    或者
    curl -sSL https://get.daocloud.io/docker | sh
    
    • 1
    • 2
    • 3

    输入docker -v查看docker是否安装成功:
    在这里插入图片描述
    2、docker拉取MySQL镜像:

    docker pull mysql:latest
    
    • 1

    如果不想拉取最新版,可以去下面的网站,拉取指定版本的MySQL:

    https://hub.docker.com/_/mysql?tab=tags
    
    • 1

    3、docker查看本地镜像:

    docker images
    
    • 1

    4、运行MySQL容器:

    docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
    
    • 1

    参数说明:

    -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
    MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

    5、docker ps可查看已启动的docker容器

  • 相关阅读:
    ECC椭圆曲线入门
    Jmeter之数据参数化方法汇总
    算法训练Day50 | LeetCode123. 买卖股票的最佳时机III(最多买卖2次);LeetCode188. 买卖股票的最佳时机IV(最多买卖K次)
    网络空间安全相关法律法规
    【JavaScript 进阶教程】函数的定义 调用 及 this指向问题
    Java利用Gzip对字符串进行压缩与解压
    kubernetes的多租户管理实践
    Mysql—六大日志
    TikTok体育精彩瞬间:全球体育迷的天堂
    Vue 入门
  • 原文地址:https://blog.csdn.net/m0_67402026/article/details/126326767