================================
©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/