Вопрос или проблема
Я пытался открыть базу данных MySQL из XAMPP (8.2.12), который я только что установил на свежую систему Ubuntu 24.04.1. В то время как веб-сервер Apache и ProFTPD работают, MySQL отказывается запускаться:
Вот полный лог ошибок:
2024-09-29 22:01:48 401639 mysqld_safe Запуск демона mysqld с базами данных из /opt/lampp/var/mysql
2024-09-29 22:01:48 0 [Note] Запуск MariaDB 10.4.32-MariaDB, источник ревизии c4143f909528e3fab0677a28631d10389354c491 как процесс 401794
2024-09-29 22:01:48 0 [Note] Использование уникального префикса параметра 'key_buffer' может привести к ошибкам в будущем. Пожалуйста, используйте полное название 'key_buffer_size'.
2024-09-29 22:01:48 0 [Note] InnoDB: Мьютексы и rw_locks используют атомарные встроенные функции GCC
2024-09-29 22:01:48 0 [Note] InnoDB: Использует мьютексы событий
2024-09-29 22:01:48 0 [Note] InnoDB: Сжатые таблицы используют zlib 1.2.11
2024-09-29 22:01:48 0 [Note] InnoDB: Количество пуулов: 1
2024-09-29 22:01:48 0 [Note] InnoDB: Использует инструкции crc32 SSE2
2024-09-29 22:01:48 0 [ERROR] mysqld: Невозможно создать/записать файл '/tmp/user/0/ib6ZuSDa' (Errcode: 13 "Доступ запрещен")
2024-09-29 22:01:48 0 [ERROR] InnoDB: Невозможно создать временный файл; errno: 13
2024-09-29 22:01:48 0 [ERROR] mysqld: Невозможно создать/записать файл '/tmp/user/0/ibXs4LuJ' (Errcode: 13 "Доступ запрещен")
2024-09-29 22:01:48 0 [ERROR] InnoDB: Невозможно создать временный файл; errno: 13
2024-09-29 22:01:48 0 [ERROR] InnoDB: Инициализация плагина прервана с ошибкой Общая ошибка
2024-09-29 22:01:48 0 [Note] InnoDB: Запуск завершения...
2024-09-29 22:01:48 0 [ERROR] Регистрация плагина 'InnoDB' как ХРАНИЛИЩА ДАННЫХ не удалась.
2024-09-29 22:01:48 0 [Note] Плагин 'FEEDBACK' отключен.
2024-09-29 22:01:48 0 [ERROR] Неизвестный/неподдерживаемый механизм хранения: InnoDB
2024-09-29 22:01:48 0 [ERROR] Прерывание
2024-09-29 22:01:48 401639 mysqld_safe mysqld из pid файла /opt/lampp/var/mysql/immanuel.pid завершен
2024-09-29 22:06:09 405682 mysqld_safe Запуск демона mysqld с базами данных из /opt/lampp/var/mysql
2024-09-29 22:06:09 0 [Note] Запуск MariaDB 10.4.32-MariaDB, источник ревизии c4143f909528e3fab0677a28631d10389354c491 как процесс 405833
2024-09-29 22:06:09 0 [Note] Использование уникального префикса параметра 'key_buffer' может привести к ошибкам в будущем. Пожалуйста, используйте полное название 'key_buffer_size'.
2024-09-29 22:06:09 0 [Note] InnoDB: Мьютексы и rw_locks используют атомарные встроенные функции GCC
2024-09-29 22:06:09 0 [Note] InnoDB: Использует мьютексы событий
2024-09-29 22:06:09 0 [Note] InnoDB: Сжатые таблицы используют zlib 1.2.11
2024-09-29 22:06:09 0 [Note] InnoDB: Количество пуулов: 1
2024-09-29 22:06:09 0 [Note] InnoDB: Использует инструкции crc32 SSE2
2024-09-29 22:06:09 0 [ERROR] mysqld: Невозможно создать/записать файл '/tmp/user/0/ibyJHfgh' (Errcode: 13 "Доступ запрещен")
2024-09-29 22:06:09 0 [ERROR] InnoDB: Невозможно создать временный файл; errno: 13
2024-09-29 22:06:09 0 [ERROR] mysqld: Невозможно создать/записать файл '/tmp/user/0/ibXryd3L' (Errcode: 13 "Доступ запрещен")
2024-09-29 22:06:09 0 [ERROR] InnoDB: Невозможно создать временный файл; errno: 13
2024-09-29 22:06:09 0 [ERROR] InnoDB: Инициализация плагина прервана с ошибкой Общая ошибка
2024-09-29 22:06:09 0 [Note] InnoDB: Запуск завершения...
2024-09-29 22:06:10 0 [ERROR] Регистрация плагина 'InnoDB' как ХРАНИЛИЩА ДАННЫХ не удалась.
2024-09-29 22:06:10 0 [Note] Плагин 'FEEDBACK' отключен.
2024-09-29 22:06:10 0 [ERROR] Неизвестный/неподдерживаемый механизм хранения: InnoDB
2024-09-29 22:06:10 0 [ERROR] Прерывание
2024-09-29 22:06:10 405682 mysqld_safe mysqld из pid файла /opt/lampp/var/mysql/immanuel.pid завершен
Я попробовал множество предложенных решений, например, это, но ни одно из них не сработало.
Я думаю, что соответствующая ошибка следующая:
[ERROR] mysqld: Невозможно создать/записать файл '/tmp/user/0/ib6ZuSDa' (Errcode: 13 "Доступ запрещен")
Во время поиска я нашел Невозможно создать/записать файл ‘/tmp/#sql_xxxx.MYI’ (Errcode: 13), где говорится, что права доступа на /tmp
вероятно неверные.
Рой сказал:
Они действительно должны быть доступны для чтения/записи/выполнения для всех с установленным битом “sticky”.
chmod 1777 /tmp
Предлагаю попробовать вышеуказанное.
Бит “sticky” добавляет некоторые ограничения на то, как другие пользователи взаимодействуют с файлами, не созданными или не принадлежащими им, так что беспокоиться не о чем.
Вам следует использовать chmod -R
, чтобы рекурсивно исправить права доступа. Но права доступа должны быть не только на файле, но и на директории /tmp
должны быть установлены правильно.
Ответ или решение
Проблема с запуском MySQL в XAMPP на свежей установке Ubuntu 24.04.1, судя по предоставленным логам, прежде всего связана с правами доступа к временной папке /tmp
. Ошибка, указывающая на "Permission denied
", говорит о том, что MySQL не может создать временные файлы в этой директории.
Вот шаги, которые позволят устранить данную проблему:
-
Проверьте права доступа к директории /tmp:
Введите следующую команду в терминале, чтобы просмотреть текущие права доступа к каталогу/tmp
:ls -ld /tmp
Ожидаемая строка должна выглядеть примерно так:
drwxrwxrwt 10 root root 4096 Sep 29 22:06 /tmp
Обратите внимание на
rwxrwxrwt
. Если права доступа отличаются, это может быть причиной вашей проблемы. -
Установите правильные права доступа:
Чтобы исправить права доступа и установить необходимые разрешения, выполните следующую команду:sudo chmod 1777 /tmp
Эта команда установит права доступа
rwxrwxrwt
, что позволит всем пользователям читать, записывать и выполнять файлы, при этом запрещая возможность удаления файлов, созданных другими пользователями. -
Перезапустите XAMPP:
После изменения прав доступа перезапустите сервер XAMPP, чтобы изменения вступили в силу. Вы можете сделать это с помощью следующих команд:sudo /opt/lampp/lampp restart
-
Проверьте логи:
Если MySQL все еще не запускается, проверьте логи еще раз, чтобы убедиться, что ошибка больше не возникает. Это можно сделать, просмотрев файл логов MySQL, который можно найти по следующему пути:/opt/lampp/var/mysql/*.err
-
Дополнительные проверки:
В случае если проблема не решена, проверьте:- Доступный объем памяти и место на диске (
df -h
иfree -m
). - Наличие каких-либо активных процессов MySQL, которые могли остаться запущенными, используя команду:
ps aux | grep mysql
- Доступный объем памяти и место на диске (
-
Системные зависимости:
Убедитесь, что все необходимые зависимости установлены. В некоторых случаях могут потребоваться дополнительные пакеты, такие какlibaio1
. Установите их с помощью:sudo apt install libaio1
Эти шаги должны помочь вам устранить проблему с запуском MySQL в XAMPP на Ubuntu 24.04.1. Если вы следовали всем приведенным выше шагам, и проблема сохраняется, возможно, стоит рассмотреть возможность переустановки XAMPP.