Введение
PhpMyAdmin — это веб-приложение, позволяющее использовать MySQL через браузер.
Если вы хотите установить PhpMyAdmin на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Теперь вы подключены к своему серверу, вы готовы начать установку phpMyAdmin.
Предпосылки
- Установка Apache в Ubuntu 20.04 или Nginx в Ubuntu 20.04.
- Установка MySQL: как установить MySQL на Ubuntu 20.04 LTS.
Установить PhpMyAdmin
Чтобы установить phpMyAdmin, введите эти простые команды из терминала:
sudo apt update
sudo apt install phpmyadmin php-mbstring
ВНИМАНИЕ Во время установки появится экран с вопросом, используете ли вы Apache2 или Lighttpd. Apache2 будет казаться выбранным, потому что он подсвечивается, но это не так. Нажмите пробел, чтобы выбрать его, иначе при установке не будут созданы нужные ссылки с Apache.
После выбора Apache2 вам будет предложено использовать dbconfig-common, выберите YES.
Введите пароль администратора базы данных.
Выберите и подтвердите пароль для phpMyAdmin.
Включите расширение mbstring:
sudo phpenmod mbstring
Перезапустите Apache2:
sudo service apache2 restart
Если вместо этого вы используете Nginx, вам нужно будет вручную создать символическую ссылку между Nginx и PhpMyAdmin, например:
sudo ln -s /usr/share/phpmyadmin//var/www/html/
Теперь можно войти в phpmyadmin с пользователем phpmyadmin и паролем, установленным на этапе установки.
Вместо этого PhpMyAdmin не сможет использовать учетные данные root.
Вы можете столкнуться со следующими ошибками:
#1698 - Access denied for user 'root'@'localhost'
mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'
Самое простое (и самое безопасное) решение — создать нового пользователя и предоставить ему необходимые права.
Изменить метод аутентификации
Начиная с версии MySQL 5.7, корневой пользователь MySQL по умолчанию настроен на аутентификацию через плагин auth_socket вместо пароля.
Чтобы использовать пароль для подключения к MySQL в качестве пользователя root, вам необходимо изменить метод аутентификации с auth_socket на mysql_native_password.
Поскольку пароль еще не установлен, вы можете подключиться к серверу MySQL, просто используя команду mysql или sudo mysql, если вы вошли в систему как обычный пользователь. Затем вам нужно будет использовать команду mysql -u root -p от имени пользователя root, в противном случае sudo mysql -u root -p от имени обычного пользователя.
Итак, если вы вошли в систему как root, введите в терминале:
mysql
В противном случае, если вы вошли в систему как обычный пользователь с привилегиями sudo:
sudo mysql
Чтобы проверить метод аутентификации, связанный с учетными записями mysql:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Вы должны получить сообщение, подобное этому:
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| debian-sys-maint | $A$005$u3KbW* y@aUv+#3LNVNBBcGIT0Q2RfuDwKRUDgRa2wnAAFeL4m2I06vi/| caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| root | | auth_socket | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
Как видите, метод аутентификации auth_socket установлен по умолчанию для пользователя root.
Чтобы использовать аутентификацию по паролю для учетной записи root, внесите следующие изменения:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';
Осторожность:Your password does not satisfy the current policy requirements.
этот учебник
Обновите таблицы:
FLUSH PRIVILEGES;
Теперь вы можете проверить новый метод аутентификации, связанный с пользователем root:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Вы должны получить сообщение, подобное этому:
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| debian-sys-maint | $A$005$u3KbW* y@aUv+#3LNVNBBcGIT0Q2RfuDwKRUDgRa2wnAAFeL4m2I06vi/| caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| root | *13097EDBBF2AB852D55D47ED1477E2901F60DFE1 | mysql_native_password | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
Выйдите из приглашения MySQL:
exit;
Чтобы снова войти на сервер MySQL теперь вам нужно будет ввести пароль, затем из терминала:
Если вы вошли в систему как root, введите в терминале:
mysql -u root -p
В противном случае, если вы вошли в систему как обычный пользователь с привилегиями sudo:
sudo mysql -u root -p
Таким образом, вы сможете получить доступ к PhpMyAdmin или другому подобному программному обеспечению с пользователем root.
Вариант 2. Добавьте привилегии root для пользователя phpmyadmin. Выполните следующие команды:
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
Теперь вы можете войти в систему с пользователем phpmyadmin и получить все привилегии пользователя root.
Вариант 3. Создайте нового пользователя Теперь вы можете подключиться к базе данных через PhpMyadmin, используя имя пользователя «phpmyadmin» и пароль, введенный на предыдущих шагах.
Как вариант, вы можете создать нового пользователя и назначить ему необходимые привилегии:
CREATE USER 'nuovo_utente'@'localhost' IDENTIFIED BY 'nuova_password';
Осторожность:Your password does not satisfy the current policy requirements.
этот учебник
Свяжите права управления с вновь созданным пользователем:
GRANT ALL PRIVILEGES ON *.* TO 'nuovo_utente'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
Теперь вы можете подключиться к вашему общедоступному IP-адресу или к локальному хосту, добавив /phpmyadmin в конец адреса.
http://vostro_dominio/phpmyadmin
http://localhost/phpmyadmin
Вывод
Установка и настройка PhpMyAdmin на Ubuntu 20.04 LTS Focal Fossa завершена.