Вопрос или проблема
Я пытался инициализировать базу данных с помощью mariadb-install-db
.
Но затем я получаю следующее сообщение:
Установка системных таблиц MariaDB/MySQL в ‘/data/data/com.termux/files/usr/var/lib/mysql’ …
2024-09-23 0:37:56 0 [ERROR] feedback plugin: не удалось получить MAC-адрес
2024-09-23 0:37:56 0 [ERROR] InnoDB: Файл ./ib_logfile0 не найден
2024-09-23 0:37:56 0 [ERROR] InnoDB: Инициализация плагина прервана с ошибкой Общая ошибка
2024-09-23 0:37:56 0 [ERROR] Регистрация плагина ‘InnoDB’ как ХРАНИЛИЩА ДАННЫХ не удалась.
2024-09-23 0:37:56 0 [ERROR] Неизвестное/неподдерживаемое хранилище: InnoDB
2024-09-23 0:37:56 0 [ERROR] ПрерываниеУстановка системных таблиц не удалась! Проверьте логи в
/data/data/com.termux/files/usr/var/lib/mysql для получения дополнительной информации.Проблема может быть связана с конфликтующей информацией в внешних
файлах my.cnf. Вы можете проигнорировать их, выполнив:shell> /data/data/com.termux/files/usr/bin/mariadb-install-db –defaults-file=~/.my.cnf
Вы также можете попробовать запустить демон mariadbd с помощью:
shell> /data/data/com.termux/files/usr/bin/mariadbd –skip-grant-tables –general-log &
и использовать командный инструмент /data/data/com.termux/files/usr/bin/mariadb
для подключения к базе данных mysql и просмотра таблиц привилегий:shell> /data/data/com.termux/files/usr/bin/mariadb -u root mysql
MariaDB> show tables;Попробуйте ‘/data/data/com.termux/files/usr/bin/mariadbd –help’, если у вас возникнут проблемы с путями. Использование
–general-log предоставит вам лог в /data/data/com.termux/files/usr/var/lib/mysql, который может быть полезным.Последняя информация о mariadb-install-db доступна по адресу
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db
Вы можете найти последние источники по адресу https://downloads.mariadb.org и
список рассылки maria-discuss на https://launchpad.net/~maria-discussПожалуйста, проверьте все вышеуказанное перед тем, как отправить отчет об ошибке
на https://mariadb.org/jira
Как я могу решить проблему, чтобы инициализировать базу данных?
Я пытался инициализировать базу данных. Я ожидал инициализации базы данных, но вместо этого получил неожиданное сообщение.
Ответ или решение
Если вы сталкиваетесь с проблемами при инициализации базы данных MariaDB в Termux, рассмотрим несколько шагов, которые могут помочь вам решить эту проблему.
Шаг 1: Проверьте права доступа
Убедитесь, что у вас есть необходимые права для записи в каталог /data/data/com.termux/files/usr/var/lib/mysql
. Для этого выполните следующую команду:
ls -ld /data/data/com.termux/files/usr/var/lib/mysql
Если права недостаточны, попробуйте изменить их:
chmod 700 /data/data/com.termux/files/usr/var/lib/mysql
Шаг 2: Удалите старые файлы
Если в каталоге уже существуют файлы базы данных, это может привести к проблемам. Попробуйте удалить их:
rm -rf /data/data/com.termux/files/usr/var/lib/mysql/*
Шаг 3: Инициализация базы данных с помощью mariadb-install-db
Теперь попробуйте снова выполнить инициализацию базы данных. Используйте команду, которая указана в сообщении об ошибке, чтобы игнорировать файлы конфигурации:
mariadb-install-db --defaults-file=~/.my.cnf
Шаг 4: Запуск MariaDB
После инициализации базы данных, попробуйте запустить сервер MariaDB:
mariadbd --skip-grant-tables --general-log &
Это позволит вам запускать сервер без необходимости проверки прав доступа, что может помочь в диагностике проблемы.
Шаг 5: Подключитесь к MariaDB
Теперь вы можете попытаться подключиться к серверу MariaDB:
mariadb -u root mysql
Шаг 6: Проверка журналов
Если проблема не решена, проверьте журналы на наличие дополнительных указаний. Они находятся в каталоге:
/data/data/com.termux/files/usr/var/lib/mysql
Или вы можете включить общий журнал, как указано выше, чтобы увидеть, что происходит при запуске сервера.
Шаг 7: Убедитесь, что зависимости установлены
Возможно, что некоторые зависимости MariaDB не установлены. Убедитесь, что вы выполнили:
pkg install mariadb
Также, если в Termux есть другие пакеты, которые могут конфликтовать с MariaDB, попробуйте удалить их или обновить.
Заключение
Если после выполнения всех этих шагов проблема не исчезла, постарайтесь собрать как можно больше информации о том, что происходит в процессе инициализации, и рассмотрите возможность обращения за помощью на форумах или в сообществе Termux или MariaDB. Это может быть полезно, чтобы получить специализированную поддержку.