Я использую Ubuntu desktop 16.04 (обновлено с 15.10).
Я установил phpmyadmin из apt-get install phpmyadmin. Он работает, если я перехожу к localhost/phpmyadmin, но я не могу войти в него как root.
Я много искал для него. Я нашел много источников, в которых они предлагают изменить /etc/phpmyadmin/config.inc.php и заменить пользователя и пароль «root» и «» (пустым для пароля). Но мой config.inc.php отличается от своего. Например, в моем файле нет строки для пользователя и пароля, и, похоже, она автоматически получает ее из другого файла, который является /etc/phpmyadmin/config-db.php. Несмотря на это, я изменил имя пользователя и пароль в этом файле, но теперь я получаю эту ошибку:
#1698 - Access denied for user 'root'@'localhost'
Что мне делать?
Phpmyadmin Версия: 4.5.4.1deb2ubuntu1 mysql Ver 14.14 Распространение 5.7.12 для Linux (x86_64) с использованием обложек EditLine
Я столкнулся с той же проблемой при использовании mariaDB с phpmyadmin (Ubuntu 16.04LTS).
Предварительные требования:
1) Установите MariaDB
sudo apt-get -y install mariadb-server mariadb-client
sudo mysql_secure_installation (answer to some interactive questions):
Enter current password for root (enter for none): <enter>
Set root password: n
Remove anonymous users: n
Disallow root login remotely: n
Remove test database and access to it: n
Reload privilege tables now: Y
Если вы хотите удалить mariaDB:
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.5 mysql-client-core-5.5
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean
2) Установите phpmyadmin
sudo apt-get -y install phpmyadmin (and answer some interactive questions)
Configuring phpmyadmin:
Web server to reconfigure automatically: apache2
Configure database for phpmyadmin with dbconfig-common: Yes
MySQL application password for phpmyadmin: <blank>
3) В apache2 создайте символическую ссылку на phpmyadmin
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo service apache2 restart
Хорошо, теперь, если вы будете следовать инструкциям Раэля, вы сможете войти в phpmyadmin, но, по крайней мере, для меня, я не смог создать новые базы данных, поскольку появилось красное сообщение: No privileges (или какое-то подобное сообщение)
Исправление было путем перенастройки phpmyadmin и ответа на некоторые интерактивные вопросы.
sudo dpkg-reconfigure phpmyadmin
<Ok>
Reinstall database for phpmyadmin: <Yes>
Connection method for MySQL database server for phpmyadmin: TCP/IP
Host name of the MySQL database server for phpmyadmin: localhost
Port number for the MySQL service: 3306
MySQL database name for phpmyadmin: phpmyadmin
<Ok>
MySQL username for phpmyadmin: root
MySQL application password for phpmyadmin: pass # OR ANY PASSWORD YOU WANT
Password confirmation: pass
Name of the database's administrative user: root
Web server to reconfigure automatically: apache2
An error occurred while installing the database: ignore
Теперь, если вы попытаетесь подключиться к phpmyadmin (localhost/phpmyadmin), используя
username: root
password: pass
, вы сможете создавать базы данных.
Ссылаясь на Раэля Кунья:
Да, его решение работает, и я пробовал других. Однако обращение к пользователю, имеющему открытый пароль в файле конфигурации, например /etc/dbconfig-common/phpmyadmin.conf, выглядит как недостаток безопасности для общесистемного действия.
Поэтому я предпочел бы предположить, в чем MariaDB 10.1.x some_user и some_pass - все, что вы можете придумать):
# mysql -u root
use mysql;
CREATE USER 'some_user'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON \*.\* TO 'some_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
и оставить phpadmin setup (4) как есть.
Войдите в phpmyadmin с вашими учетными данными после этого [ ! d4]
В моих собственных настройках я заменяю вышеуказанный «%» на «localhost» для целей безопасности, но если на вашем сервере закрыт порт 3306, который не обязательно будет представлять угрозу безопасности для вас.
Если phpymadmin не может подключиться, это может быть связано с механизмом auth, установленным на auth_socket. Вы можете изменить его, чтобы использовать обычный пароль следующим образом:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_password";
Я боролся с этим только сейчас на чистой установке Ubuntu 18.04, и именно это заставило его работать. Здесь есть достойная статья, объясняющая больше:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin -auth_socket /
, если вы устанавливаете MySQL отдельно, остановите его с помощью этой команды ниже sudo / opt / lampp / lampp stop service mysql stop sudo / opt / lampp / lampp start