Не удается ввести phpmyadmin как root (MySQL 5.7)

Я использую 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

1
задан 28 April 2016 в 21:07

4 ответа

Я столкнулся с той же проблемой при использовании 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

, вы сможете создавать базы данных.

6
ответ дан 23 May 2018 в 11:44
  • 1
    Спасибо за ваш ответ. Но не лучше ли просто делиться последней частью, а не целым? Я думаю, что остальное здесь не полезно? – Mostafa Ahangarha 20 March 2017 в 21:02
  • 2
    @MostafaAhangarha Возможно, сообщение слишком длинное, но мне всегда нравится знать контекст, в котором дается ответ. – Dan Costinel 21 March 2017 в 01:55
  • 3
    Имеет ли в работе sudo dpkg-reconfigure phpmyadmin какое-либо соединение с установкой mariadb и unistalling mysql? Если да, то ваша информация может быть полезна (возможно, потому, что вы предлагаете удалить mysql, который я использую для БД, и буду использовать). Если нет, тогда нет смысла давать это как контекст. Если я ошибаюсь, сделайте меня правильным. – Mostafa Ahangarha 21 March 2017 в 12:47

Ссылаясь на Раэля Кунья:

Да, его решение работает, и я пробовал других. Однако обращение к пользователю, имеющему открытый пароль в файле конфигурации, например /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, который не обязательно будет представлять угрозу безопасности для вас.

0
ответ дан 23 May 2018 в 11:44

Если 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 /

0
ответ дан 23 May 2018 в 11:44

, если вы устанавливаете MySQL отдельно, остановите его с помощью этой команды ниже sudo / opt / lampp / lampp stop service mysql stop sudo / opt / lampp / lampp start

-2
ответ дан 23 May 2018 в 11:44

Другие вопросы по тегам:

Похожие вопросы: