Вопрос или проблема
На моем Ubuntu 20.04 (Рабочий стол/Ноутбук, не сервер) я недавно установил XAMPP (Версия: 7.4.7).
Теперь, когда я пытаюсь создать базу данных, появляется сообщение #1006 – Невозможно создать базу данных ‘database_name’ (errno: 13 “доступ запрещён”).
Я не очень хорошо знаком с Ubuntu в последнее время (последний раз использовал Ubuntu 18.04), поэтому не могу понять, в каком файле нужно сделать конфигурацию или в каком каталоге нужно предоставить разрешение, чтобы решить проблему. Может кто-то помочь мне исправить эту проблему?
Чтобы создать базу данных, вы должны войти в phpMyAdmin как root или с учетной записью, которая имеет необходимые разрешения. Сначала убедитесь, что вы запустили mysql, набрав
$service mysql start
Для начала вы можете создать нового пользователя для вашего mysql. Вы можете сделать это, выполнив
mysql>CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
где newuser
— это имя пользователя. Вы можете установить его как имя вашей учетной записи, что упростит работу. И да, localhost
— это сервер, который вы используете, а password
— это пароль, который вы хотите установить для входа в mysql.
Теперь вы создали нового пользователя, и пришло время сделать этого пользователя способным выполнять задачи. Вы можете сделать это, выполнив
mysql>GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
здесь *.*
означает, что мы предоставляем разрешение на каждую таблицу каждой базы данных, что также означает, что мы можем создавать, если это необходимо. Теперь вы должны иметь возможность создавать базы данных с именем пользователя newuser
. В случае, если вам нужно войти в mysql из терминала, выполните
mysql -u newuser -p
В процессе я предполагаю, что вы будете выполнять все эти команды от имени root.
Ответ или решение
Код ошибки #1006 в PHPMyAdmin, указывающий на невозможность создания базы данных с сообщением об ошибке errno: 13 ("permission denied"), часто возникает из-за проблем с правами доступа на уровне файловой системы. На операционной системе Ubuntu 20.04, где установлен XAMPP, необходимо провести несколько шагов для решения данной проблемы. Рассмотрим основные действия.
1. Проверка прав доступа
Сначала убедитесь, что у пользователя, под которым работает сервер MySQL в XAMPP, есть достаточные права на создание баз данных. Обычно сервер MySQL (MariaDB) устанавливается с правами пользователя, отличными от ваших личных прав. Вам потребуется проверить и изменить права на каталоги, где размещается база данных.
Команда для проверки прав доступа
Откройте терминал и выполните следующую команду:
ls -ld /opt/lampp/var/mysql
Эта команда покажет текущие права доступа к каталогу, в котором хранится база данных XAMPP. Если права установлены неправильно, выполните команду:
sudo chown -R mysql:mysql /opt/lampp/var/mysql
Эта команда изменит владельца папки на mysql
, что является учётной записью, под которой работает сервер MySQL.
2. Запуск MySQL
Убедитесь, что сервер MySQL запущен. Для этого используйте следующую команду в терминале:
sudo /opt/lampp/lampp start
Это запустит все службы XAMPP, включая MySQL. Проверьте статус MySQL:
/opt/lampp/lampp status
Убедитесь, что MySQL отображается как запущенный.
3. Вход в phpMyAdmin и создание базы данных
Теперь, когда вы удостоверились, что права доступа установлены правильно и что сервер MySQL работает, перейдите в phpMyAdmin. Зачастую необходимо войти в phpMyAdmin под учётной записью с высоким уровнем доступа (например, root
).
Пользователь и привилегии
Если вы хотите создать нового пользователя с правами на создание баз данных, выполните следующие шаги:
- Войдите в MySQL:
sudo /opt/lampp/bin/mysql -u root -p
- Создайте нового пользователя:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Замените newuser
и password
на нужное вам имя пользователя и пароль.
- Предоставьте этому пользователю необходимые привилегии:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
Эта команда даст вашему новому пользователю право на создание и управление базами данных.
4. Проверка конфигурационных файлов
Если ни один из вышеперечисленных шагов не помог, проверьте конфигурационный файл MySQL, чтобы убедиться, что нет ограничений на создание баз данных. Откройте файл конфигурации:
sudo nano /opt/lampp/etc/my.cnf
Проверьте секцию [mysqld]
на предмет любых параметров, которые могут ограничивать доступ. Например, убедитесь, что там нет параметров skip-grant-tables
.
Заключение
После выполнения всех вышеуказанных шагов вы должны быть в состоянии создать базу данных через PHPMyAdmin без ошибки #1006 (errno: 13 "permission denied"). Если проблема сохраняется, удостоверьтесь, что нет конфликтующих программ или других настроек, влияющих на права доступа.