Ошибка при указании соединения для controluser в конфигурации как исправить

Сначала расскажу что я сделал, а потом к сути вопроса.

На голый сервер поставил VESTA, который собственно сам и накатил PHPMyAdmin, после авторизации на котором, возникали следующие ошибки и как я их решил:

  1. Ошибка при указании соединения для controluser в конфигурации:
    — Подсмотрел логин и пароль в файле /usr/local/vesta/conf/mysql.conf
    — Ввел их в /etc/phpmyadmin/config.inc.php ($cfg[‘Servers’][$i][‘controluser’] и $cfg[‘Servers’][$i][‘controlpass’])
  2. Дополнительные возможности phpMyAdmin не настроены в полной мере, некоторые функции были отключены.
    — Ввел все те же логин и пароль в /etc/phpmyadmin/config.inc.php ($cfg[‘Servers’][$i][‘controluser’] и $cfg[‘Servers’][$i][‘controlpass’])
    — Скачал пример бэкапа /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz и импортировал его
    — В /etc/phpmyadmin/config.inc.php указал таблицы в соответствии с импортируемой бд (добавил знак подчеркивания: pma_bookmark => pma__bookmark и т.п.)

После проделанных шагов PMA прекрасно заработал и более не ругался, но ровно до того момента когда время авторизации истекло и меня не выбило. И теперь я не могу войти под любыми парами логин-пароль, в т.ч. root.

Отображаемые ошибки:
#2002 Невозможно подключиться к серверу MySQL
Ошибка при указании соединения для controluser в конфигурации.

История о том как я наткнулся на ошибку соединения для controluser в phpmyadmin.  Обычная видимо, типичная ситуация и её вполне легко исправить.

Для этого нужно прописать данные для подключения к бд в config.inc.php, как root так и для pma пользователя которого мы создадим.

А также импортировать в корень базы данных файл create_tables.sql, он находиться в папке examples обычно, если его нет там, тогда смотрим версию вашего phpmyadmin через саму панель, и ищем тут —

https://www.phpmyadmin.net/files/

либо тут https://github.com/phpmyadmin/phpmyadmin/releases

либо просто в ссылке подставляем свою версию

https://raw.githubusercontent.com/phpmyadmin/phpmyadmin/RELEASE_4_0_7/examples/create_tables.sql

https://raw.githubusercontent.com/phpmyadmin/phpmyadmin/RELEASE_4_2_12/examples/create_tables.sql

И сохраняем себе данный .sql файлик

Для начала надо знать ваш пароль от root базы.

Заходим в phpmyadmin через root

и импортируем create_tables.sql

Далее, создать пользователя pma, если его не существует.

phpmyadmin - Пользователи

phpmyadmin — Пользователи

Для этого заходим в ваш установленный phpmyadmin, нажимаем «Пользователи» сверху, далее «Добавить пользователя».

Вводим название пользователя pma, хост — localhost (важно), далее генерируем пароль и записываем его куда-нибудь.

Далее жмем «Пользователи», напротив вашего юзера pma будет «Редактировать привилегии», жмем.

Сверху под меню главным, будет еще одно меню «Глобальный, База данных, Изменить пароль, Информация учётной записи»

Жмем «База данных».

Далее выбираем в «Добавить привилегии на следующую базу данных:» базу данных «phpmyadmin».

Выбираем SELECT, INSERT, UPDATE, DELETE и жмём «Вперед».

Далее надо прописать данного юзера в файл config.inc.php

Для Debian файл находиться в /etc/phpmyadmin/

Вводим команду для редактирования файла —

nano /etc/phpmyadmin/config.inc.php

Далее,

заменить и установить строки

$cfg['Servers'][$i]['controlhost'] = 'localhost';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'пароль';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

pma юзера, которого мы создали, и пароль который мы записали.

и в следующих строках вписать подключение root пользователя

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'пароль';

И таким образом вы сможете избавиться от ошибки подключения controluser для вашей системы управления базой данных, также если у вас нет возможности использовать данный инструмент, вы можете попробовать https://www.adminer.org/ или же вот этот инструмент для создания бэкапов (импорт или экспорт) таблиц из базы данных — https://sypex.net/ru/products/dumper/downloads/

Еще 1 вариант — очень эффективный:

Скачайте данный архив — это авто-фиксер для PhpMyadmin

Скачать PhpmyadminFix без регистраций и СМС

Закиньте на Debian сервер, и напишите

  1. chmod +x pma-debian.sh
  2. ./pma-debian.sh

[:en]История о том как я наткнулся на ошибку соединения для controluser в phpmyadmin.  Обычная видимо, типичная ситуация и её вполне легко исправить.

Для этого нужно прописать данные для подключения к бд в config.inc.php, как root так и для pma пользователя которого мы создадим.

А также импортировать в корень базы данных файл create_tables.sql, он находиться в папке examples обычно, если его нет там, тогда смотрим версию вашего phpmyadmin через саму панель, и ищем тут —

https://www.phpmyadmin.net/files/

либо тут https://github.com/phpmyadmin/phpmyadmin/releases

либо просто в ссылке подставляем свою версию

https://raw.githubusercontent.com/phpmyadmin/phpmyadmin/RELEASE_4_0_7/examples/create_tables.sql

https://raw.githubusercontent.com/phpmyadmin/phpmyadmin/RELEASE_4_2_12/examples/create_tables.sql

И сохраняем себе данный .sql файлик

Для начала надо знать ваш пароль от root базы.

Заходим в phpmyadmin через root

и импортируем create_tables.sql

Далее, создать пользователя pma, если его не существует.

phpmyadmin - Пользователи

phpmyadmin — Пользователи

Для этого заходим в ваш установленный phpmyadmin, нажимаем «Пользователи» сверху, далее «Добавить пользователя».

Вводим название пользователя pma, хост — localhost (важно), далее генерируем пароль и записываем его куда-нибудь.

Далее жмем «Пользователи», напротив вашего юзера pma будет «Редактировать привилегии», жмем.

Сверху под меню главным, будет еще одно меню «Глобальный, База данных, Изменить пароль, Информация учётной записи»

Жмем «База данных».

Далее выбираем в «Добавить привилегии на следующую базу данных:» базу данных «phpmyadmin».

Выбираем SELECT, INSERT, UPDATE, DELETE и жмём «Вперед».

Далее надо прописать данного юзера в файл config.inc.php

Для Debian файл находиться в /etc/phpmyadmin/

Вводим команду для редактирования файла —

nano /etc/phpmyadmin/config.inc.php

Далее,

заменить и установить строки

$cfg['Servers'][$i]['controlhost'] = 'localhost';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'пароль';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

pma юзера, которого мы создали, и пароль который мы записали.

и в следующих строках вписать подключение root пользователя

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'пароль';

И таким образом вы сможете избавиться от ошибки подключения controluser для вашей системы управления базой данных, также если у вас нет возможности использовать данный инструмент, вы можете попробовать https://www.adminer.org/ или же вот этот инструмент для создания бэкапов (импорт или экспорт) таблиц из базы данных — https://sypex.net/ru/products/dumper/downloads/

Error

Прошу помощи у гуру MySQL. Такую вот ошибку выдает pma.
Что делать?

задан 11 апр 2015 в 8:35

hidd's user avatar

В снимках экрана ошибка “Access denied for user root (using password: NO)” и фигурирует “controluser“.

Вам необходимо правильно установить имя пользователя и пароль для controluser‘а. Они используются для соединения с хранилищем конфигурации phpMyAdmin (configuration storage), где хранятся настройки для дополнительный функций.

Хранилище конфигурации не обязательно, phpMyAdmin может работать без него.
Поэтому у вас есть два пути:

  • Выключить хранилище конфигурации: $cfg['Servers'][$i]['pmadb'] = null; в config.inc.php.

  • Настроить controluser‘а: создать пользователя в MySQL, предоставить ему определённый набор привилегий, затем добавить его имя и пароль в config.inc.php:

    $cfg['Servers'][$i]['controluser'] = '<ИМЯ_ПОЛЬЗОВАТЕЛЯ>';
    $cfg['Servers'][$i]['controlpass'] = '<ПАРОЛЬ>';
    

ответ дан 11 апр 2015 в 9:41

Alex Shesterov's user avatar

Alex ShesterovAlex Shesterov

3281 золотой знак7 серебряных знаков19 бронзовых знаков

3

я выключил хранилище конфигурации, а потом обратно включил, помогло.

ответ дан 9 авг 2016 в 5:44

azim's user avatar

azimazim

111 бронзовый знак

There are 2 errors:

1. Connection for controluser as defined in your configuration failed

Solution:

a. Open terminal:
sudo gedit /etc/phpmyadmin/config.inc.php

b. and uncomment following lines(may be both will come 2 times depend upon version):
$cfg[‘Servers’][$i][‘AllowNoPassword’] = TRUE;

c. and comment following lines(may be both will come 2 times depend upon version):
//$cfg[‘Servers’][$i][‘controluser’] = $dbuser;
//$cfg[‘Servers’][$i][‘controlpass’] = $dbpass;

2. Access denied for user ‘root’@’localhost’

This will come when you open phpmyadmin or when you open mysql on terminal with out sudo command(not from root user). This error is due to root user. The reson behind this error is your current ubuntu user does not have previlages to open mysql in terminal. If you open mysql with sudo command then it will open but not open from your current user. For example:

lenovo@lenovo-ThinkPad-E460:/etc$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

Here current ubuntu user is lenovo. So you have to give permissions to your root user.
Process:

1 – First, connect in sudo mysql

sudo mysql -u root

2 – Check your accounts present in your db

SELECT User,Host FROM mysql.user;

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| admin            | localhost |
| debian-sys-maint | localhost |
| magento_user     | localhost |
| mysql.sys        | localhost |
| root             | localhost |

3 – Delete current root@localhost account

mysql> DROP USER ‘root’@’localhost’;
Query OK, 0 rows affected (0,00 sec)

4 – Recreate your user

mysql> CREATE USER ‘root’@’%’ IDENTIFIED BY ”;
Query OK, 0 rows affected (0,00 sec)

5 – Give permissions to your user and don’t forget to flush privileges

mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’;
Query OK, 0 rows affected (0,00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,01 sec)

6 – Exit mysql and try to reconnect without sudo

I hope this will help. And now you able to open phpmyadmin with no password.

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Активные темы Темы без ответов

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

1 2015-08-27 00:41:28

  • Rubik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2015-08-27
  • Сообщений: 14

Тема: Ошибка при указании соединения для controluser в конфигурации.

Здравствуйте, подскажите пж установил phpmyadmin на debian 7 ошибка при указании соединения для controluser в конфигурации.

http://joxi.ru/823gyVnC0V7D2O

эту статью http://php-myadmin.ru/learning/instrument-pma.html читал

2 Ответ от Hanut 2015-08-27 12:44:06

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,724

Re: Ошибка при указании соединения для controluser в конфигурации.

Проверьте эти строки. Если они в порядке, то попробуйте очистить куки браузера.

$cfg['Servers'][$i]['controlhost'] = 'localhost';
$cfg['Servers'][$i]['controluser'] = 'pma'; /* Имя созданного вами только что пользователя для доступа к расширенным таблицам. */
$cfg['Servers'][$i]['controlpass'] = 'пароль'; /* А здесь его пароль. */

3 Ответ от Rubik 2015-08-28 01:28:18

  • Rubik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2015-08-27
  • Сообщений: 14

Re: Ошибка при указании соединения для controluser в конфигурации.

в конфиге phpmyadmin

тут /etc/phpmyadmin/config.inc.php

4 Ответ от Hanut 2015-08-28 12:09:06

  • Hanut
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,724

Re: Ошибка при указании соединения для controluser в конфигурации.

Попробуйте поменять настройку подключения в этом файле, чтобы проверить работает ли он.

5 Ответ от Rubik 2015-08-28 12:26:04

  • Rubik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2015-08-27
  • Сообщений: 14

Re: Ошибка при указании соединения для controluser в конфигурации.

я и переспросил путь думал может не там ищу
/etc/phpmyadmin/config.inc.php – нету $cfg[‘Servers’][$i][‘controlhost’] = ‘localhost’;

Сообщения 5

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Добавить комментарий