• Centos7 mysql Unit not found,Centos7 在线安装mysql 5.7


    ================================

    ©Copyright 蕃薯耀 2021-12-31

    https://www.cnblogs.com/fanshuyao/

    一、Mysql Unit not found 问题

    centos7 mysql --initialize 后启动mysql(service mysqld start)报错:Unit not found.

    Failed to start mysql.server.service: Unit not found.

    二、Mysql Unit not found 原因

    在CentOS 7中已经不在支持mysql(建议改使用MariaDB),就算已经安装,但CentOS7系统中(/usr/lib/systemd/system)是没有该服务的。

    为什么不支持了呢?

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可
    。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,
    因此社区采用分支的方式来避开这个风险。

    三、centos7 mysql Unit not found 解决方案

    1、解决方案一:使用MariaDB代替mysql数据库

    Centos 7默认是已经安装了MariaDB的,如果没有,可自行安装。

    #安装mariadb
    yum install mariadb-server -y
     
    #启动服务
    systemctl start mariadb.service
     
    #设置开机启动
    systemctl enable mariadb.service
     
    #登录mysql
    mysql -uroot -p

    2、解决方案二:手动添加mysqld.service

    (1)进入/usr/lib/systemd/system目录

    cd /usr/lib/systemd/system

    (2)创建mysqld.service文件

    vi mysqld.service

    (3)mysqld.service文件内容

    [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
     
    # Start main service
    ExecStart=/usr/bin/mysqld --defaults-file=/etc/mysql/my.cnf
     
    # Sets open_files_limit
    LimitNOFILE = 5000
     

    下面的rpm方式安装mysql自动生成的mysqld.service,供参考:

    [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
     
    PIDFile=/var/run/mysqld/mysqld.pid
     
    # Disable service start and stop timeout logic of systemd for mysqld service.
    TimeoutSec=0
     
    # Execute pre and post scripts as root
    PermissionsStartOnly=true
     
    # Needed to create system tables
    ExecStartPre=/usr/bin/mysqld_pre_systemd
     
    # Start main service
    ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS
     
    # Use this to switch malloc implementation
    EnvironmentFile=-/etc/sysconfig/mysql
     
    # Sets open_files_limit
    LimitNOFILE = 5000
     
    Restart=on-failure
     
    RestartPreventExitStatus=1
     
    PrivateTmp=false

    (4)重新加载系统服务

    systemctl daemon-reload

    (5)Mysql设置开机启动,并启动mysql服务

    systemctl enable mysqld.service
     
    systemctl start mysqld.service

    查看Mysql状态

    systemctl status mysqld.service
     
     
    service mysqld status

    3、解决方案二:在线安装 mysql-server

    (1)先安装wget工具,有了可省略

    yum -y install wget

    (2)获取mysql5.7下载的镜像

    wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

    没有该镜像,在安装Mysql时(yum -y install mysql-server)会报错:

    没有可用软件包 mysql-server。

    (3)rpm 方式安装Mysql镜像

    rpm -ivh mysql57-community-release-el7-7.noarch.rpms

    或者?

    yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

    (4)安装Mysql服务

    yum -y install mysql-server

    或者?

    yum install -y mysql-community-server

    (时间宝贵,分享不易,捐赠回馈,^_^)

    ================================

    ©Copyright 蕃薯耀 2021-12-31

    https://www.cnblogs.com/fanshuyao/

    今天越懒,明天要做的事越多。
  • 相关阅读:
    一个菜鸟把Vue项目打包为APP的道路
    echarts
    no module named selenium
    git使用教程
    JDK安装与环境变量配置
    家具摆件
    家店分会场
    双十一电器城
    室内门锁
    http://cjy.suda.edu.cn/File.aspx?id=427
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/15751524.html
Copyright © 2020-2023  润新知