Прошу помощи у гуру MySQL. Такую вот ошибку выдает pma.
Что делать?
задан 11 апр 2015 в 8:35
В снимках экрана ошибка «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 ShesterovAlex Shesterov
3281 золотой знак7 серебряных знаков19 бронзовых знаков
3
я выключил хранилище конфигурации, а потом обратно включил, помогло.
ответ дан 9 авг 2016 в 5:44
azimazim
111 бронзовый знак
Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой
обратной связи, либо на почту которая на странице «Обо мне».
История о том как я наткнулся на ошибку соединения для 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, нажимаем «Пользователи» сверху, далее «Добавить пользователя».
Вводим название пользователя 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 сервер, и напишите
- chmod +x pma-debian.sh
- ./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, нажимаем «Пользователи» сверху, далее «Добавить пользователя».
Вводим название пользователя 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/
Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой
обратной связи, либо на почту которая на странице «Обо мне».
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.
-
georgich
- Posts: 22
- Joined: Sat Oct 31, 2015 11:56 am
controluser
Приветствую!
Скажу сразу. Прочитал много форумов и мануалов, но так и не понял ,что делать. Банальное сообщение, которое не мешает работе, вроде бы, но надоедает.
Ошибка при указании соединения для controluser в конфигурации.
Еле нашел рута и пароль для него в файле конфигурации. Зашел. Я так понимаю надо из под рута как-то создать этого пользователя. Подскажите, пожалуйста, куда смотреть?
Спасибо!
-
skurudo
- VestaCP Team
- Posts: 8099
- Joined: Fri Dec 26, 2014 2:23 pm
- Contact:
Re: controluser
Post
by skurudo » Mon Nov 09, 2015 6:58 pm
Вам необходимо правильно установить имя пользователя и пароль для controluser’а. Они используются для соединения с хранилищем конфигурации phpMyAdmin (configuration storage), где хранятся настройки для дополнительный функций.
Хранилище конфигурации не обязательно, phpMyAdmin может работать без него. Поэтому у вас есть два пути:
1. Выключить хранилище конфигурации: $cfg[‘Servers’][$i][‘pmadb’] = null; в config.inc.php.
2. Настроить controluser’а: создать пользователя в MySQL, предоставить ему определённый набор привилегий, затем добавить его имя и пароль в config.inc.php:
Code: Select all
$cfg['Servers'][$i]['controluser'] = '<ИМЯ_ПОЛЬЗОВАТЕЛЯ>';
$cfg['Servers'][$i]['controlpass'] = '<ПАРОЛЬ>';
-
taku
- Posts: 16
- Joined: Mon Jun 01, 2015 6:19 am
Re: controluser
Post
by taku » Tue Nov 10, 2015 1:02 pm
для того что бы избавится от проблемы делаем следующее
1) заходим в /usr/share/doc/phpmyadmin/examples
2) gunzip config.sample.inc.php.gz & mv ./config.sample.inc.php /etc/phpmyadmin/config.inc.php
3) в phpmyadmin импортируем create_tables.sql.gz
4) раскомментировать адвансед функции
-
serikov2016
- Posts: 2
- Joined: Mon Nov 23, 2015 4:30 pm
Re: controluser
Post
by serikov2016 » Mon Nov 23, 2015 6:43 pm
ВХОДИМ В , если вы на Ubuntu
sudo nano /root/.my.cnf
видем и сохраняем пароль
[client]
password=’mdoo5566jf’
ДАЛЕЕ
sudo nano /etc/phpmyadmin/config.inc.php
правим
$cfg[‘Servers’][$i][‘controluser’] = $root;
$cfg[‘Servers’][$i][‘controlpass’] = $mdoo5566jf;
Далее
$cfg[‘Servers’][$i][‘pmadb’] = $phpmyadmin;
перезагружаем мускул, выходим из phpmyadmin и снова входим!
Конечно не всё исправляется но работать с таблицами базы можно.
-
MaxAlex
- Posts: 17
- Joined: Tue Nov 11, 2014 6:28 pm
Re: controluser
Post
by MaxAlex » Tue Jan 05, 2016 2:18 pm
serikov2016 wrote: …………………..
перезагружаем мускул, выходим из phpmyadmin и снова входим!
Конечно не всё исправляется но работать с таблицами базы можно.
Теперь у меня вообще не получается зайти в phpmyadmin, браузер выдаёт ошибку 500.
Как там всё по умолчанию должно быть?
Может быть из-за того, что я изменил в файле /root/.my.cnf пароль, то есть вбил пароль root-а от phpMyAdmin, который недавно перед этим изменил?
P.S.: исправил, всё запустилось и смог зайти в phpMyAdmin, когда убрал $ и поставил ‘.
Но оставил значение null в:
Code: Select all
$cfg['Servers'][$i]['pmadb'] = null;
И ещё, не знаю может у меня только так на Debian 8, но когда в панели VESTA CP жал на кнопку перезапустить
mysql сервер, было непонятно сработала команда или нет, так время отсчёта оставалось прежним, а должно было начаться с нуля.
Сначала расскажу что я сделал, а потом к сути вопроса.
На голый сервер поставил VESTA, который собственно сам и накатил PHPMyAdmin, после авторизации на котором, возникали следующие ошибки и как я их решил:
- Ошибка при указании соединения для controluser в конфигурации:
— Подсмотрел логин и пароль в файле /usr/local/vesta/conf/mysql.conf
— Ввел их в /etc/phpmyadmin/config.inc.php ($cfg[‘Servers’][$i][‘controluser’] и $cfg[‘Servers’][$i][‘controlpass’]) - Дополнительные возможности 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 в конфигурации.