![Установка MariaDB вместе с MySQL: Не удалось найти mysqld](https://rvso.com/image/617794/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0%20MariaDB%20%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B5%20%D1%81%20MySQL%3A%20%D0%9D%D0%B5%20%D1%83%D0%B4%D0%B0%D0%BB%D0%BE%D1%81%D1%8C%20%D0%BD%D0%B0%D0%B9%D1%82%D0%B8%20mysqld.png)
Я следую инструкции на сайте MariaDBздесьвсе хорошо, пока я не дохожу до части, показанной ниже.
[root@squir scripts]# mysql_install_db --defaults-file=/mariadb/data/my.cnf
FATAL ERROR: Could not find mysqld
The following directories were searched:
/mariadb/mariadb/libexec
/mariadb/mariadb/sbin
/mariadb/mariadb/bin
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
Интересно, есть ли проблема со структурой каталогов, которая запутывает установку. Документация также старая, поэтому я не уверен, есть ли пропущенный шаг.
Что я уже сделал
- Скачал MariaDB.tar.gz
- Создал каталог с именем /mariadb/
- Извлек MariaDB.tar.gz и создал символическую ссылку с именем mariadb
- Создана группа пользователей и имя пользователя для каталога MariaDB.
- Создан /mariadb/data для хранения файла данных MariaDB (база данных)
Скопируйте предварительно написанный файл конфигурации с помощью этой команды.
cp mariadb/support-files/my-medium.cnf mariadb/data/my.cnf
Отредактировал файл my.cnf согласно инструкцииздесь
[клиент] порт = 3307 сокет = /mariadb/data/mariadb.sock
[mysqld] datadir = /mariadb/data basedir = /mariadb/mariadb port = 3307 socket = /mariadb/data/mariadb.sock user = mariadb
Скопируйте скрипт init.d из файлов поддержки в нужное место:
- Отредактируйте /etc/init.d/mariadb, заменив mysql на mariadb
Запустите mysql_install_db, явно указав файл my.cnf в качестве аргумента:
скрипты/mysql_install_db --defaults-file=/opt/mariadb-data/my.cnf
Хотя на шаге 10 я не могу выполнить эту команду. Поэтому я сделал то, что сказал выше, и показал ошибку.
решение1
basedir
- это «базовый» каталог, в котором bin
lib
находятся все каталоги etc.
Изменить basedir = /mariadb/mariadb
на basedir = /mariadb
.
Также, я полагаю, my.cnf
местоположение где-то в /mariadb/data/my.cnf
, измените --defaults-file=/opt/mariadb-data/my.cnf
соответственно.
Также, mysql_install_db
необходимо бежать от /mariadb
сscripts/mysql_install_db
mysql_install_db
вызовет скрипт из /usr/bin
, а не из /mariadb/scripts/
.
Лучше следовать стандартам и устанавливать его под /opt/
.
Также убедитесь, что selinux находится в разрешающем режиме:
getenforce
установить "разрешительный" в/etc/sysconfig/selinux