Ответ 1
Я успешно подключился, переключив протокол на tcp и подключившись к "127.0.0.1" вместо "localhost". Все еще не удается подключиться через Unix Socket, хотя хотя и работает сокет daemon MySql.
Я уже рассмотрел этот, но так как я запускаю Ubuntu 10.04 вместо XAMPP и уже создал базу данных phpmyadmin, и я могу войти в систему через терминал с помощью как пользователей root, так и phpmyadmin.
Как я установил: sudo apt-get install lamp-server ^ sudo apt-get install phpmyadmin
Я могу войти в систему локально на терминале, используя как пользователей root, так и phpmyadmin. Я могу просмотреть страницу входа phpmyadmin. Страница phpinfo.php, которую я отправил на сервер.
Я успешно подключился, переключив протокол на tcp и подключившись к "127.0.0.1" вместо "localhost". Все еще не удается подключиться через Unix Socket, хотя хотя и работает сокет daemon MySql.
Поскольку вы можете войти в систему как контролер в терминале, скорее всего, ваш файл конфигурации не будет содержать правильное имя пользователя или пароль для элемента управления.
Откройте config.inc.php
в текстовом редакторе и посмотрите на элементы управления и управления - убедитесь, что они точно соответствуют имени пользователя и паролю, которые вы успешно используете. Попробуйте полностью прокомментировать эти две строки, чтобы узнать, есть ли у вас другое сообщение об ошибке.
Если вы использовали диспетчер пакетов для установки, обратите внимание, что файлы конфигурации распространяются в /etc/phpmyadmin
, и если вы вручную добавили эти строки, они могут быть перезаписаны другим конфигурационным файлом. Попробуйте grep -Ri controluser /etc/phpmyadmin/*
, чтобы увидеть, отображается ли это в нескольких файлах.
Поскольку вы использовали диспетчер пакетов, вы должны позволить ему обрабатывать настройку базы данных. Попробуйте удалить любые изменения, которые вы внесли в файлы конфигурации, и запустить dpkg-reconfigure -plow phpmyadmin
(это командная оболочка для запуска в командной строке); это перенастроит пакет phpmyadmin и спросит, хотите ли вы разрешить dbconfig-common создавать таблицы phpMyAdmin для вас, а также для элемента управления.
Просто раскомментировать строку:
$cfg['Servers'][$i]['host'] = 'localhost';
Попробуйте.
Это также может произойти, когда пользователь, который вы подключаете, как в phpmyadmin, обновлен в mySQL. Я просто получил это при удалении/обновлении/переустановке phpmyadmin и одновременном изменении некоторых параметров mySQL.
Исправить это, чтобы обновить файл config-db.php с помощью правильных учетных данных (имя пользователя, пароль и т.д.).
В Ubuntu 12.04 это расположено по адресу /etc/phpmyadmin/config -db.php.
Более подробные инструкции приведены на http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/
Есть 2 ошибки:
1. Не удалось подключиться для элемента управления, определенного в вашей конфигурации
Решение:
а. Открытый терминал:
sudo gedit/etc/phpmyadmin/config.inc.php
б. и раскомментировать следующие строки (могут быть оба будут в 2 раза зависеть от версии): $ cfg ['Servers'] [$ i] ['AllowNoPassword'] = TRUE;
с. и прокомментировать следующие строки (возможно, оба они будут в 2 раза зависеть от версии): // $cfg ['Servers'] [$ i] ['controluser'] = $dbuser; // $cfg ['Servers'] [$ i] ['controlpass'] = $dbpass;
2. Доступ запрещен для пользователя 'root' @'localhost'
Это произойдет, когда вы откроете phpmyadmin или когда вы откроете mysql на терминале без команды sudo (не от пользователя root). Эта ошибка возникает из-за пользователя root. Резонанс за этой ошибкой - ваш текущий пользователь ubuntu не имеет предисловий, чтобы открыть mysql в терминале. Если вы откроете mysql с помощью команды sudo, она откроется, но не будет открыта от вашего текущего пользователя. Например:
lenovo @lenovo-ThinkPad-E460:/etc $mysql -u root -p Введите пароль: ОШИБКА 1698 (28000): доступ запрещен для пользователя 'root' @'localhost'
Здесь текущий пользователь ubuntu является lenovo. Таким образом, вы должны предоставить разрешения своему пользователю root. Процесс:
1 - Сначала подключитесь в sudo mysql
sudo mysql -u root
2 - Проверьте свои учетные записи, представленные в вашем db
SELECT User, Host FROM mysql.user;
+------------------+-----------+ | User | Host | +------------------+-----------+ | admin | localhost | | debian-sys-maint | localhost | | magento_user | localhost | | mysql.sys | localhost | | root | localhost |
3 - Удалить текущую учетную запись root @localhost
mysql > DROP USER 'root' @'localhost'; Query OK, 0 строк, затронутых (0,00 сек)
4 - Восстановите пользователя
mysql > CREATE USER 'root' @'%' IDENTIFIED BY ''; Query OK, 0 строк, затронутых (0,00 сек)
5 - Дайте разрешения вашему пользователю и не забудьте сбросить привилегии
mysql > ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ. TO 'root' @'%'; Query OK, 0 строк, затронутых (0,00 сек)
mysql > ПРИВИЛЕГИИ FLUSH; Query OK, 0 строк (0,01 сек)
6 - Выйдите из mysql и попытайтесь снова подключиться без sudo
Надеюсь, это поможет. И теперь вы можете открыть phpmyadmin без пароля.
создать базу данных phpmyadmin
Открыть файл
/etc/phpmyadmin/config-db.php
установите пароль root в файле config-db.php.
$dbuser='root';
$dbpass='password'; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';
проблема будет решена.
Если вы находитесь в окнах с xammp, перейдите в C:\xammp\phpMyAdmin\ config.inc
, откройте его и найдите эту строку, теперь убедитесь, что
/* User for advanced features*/
$cfg['servers'][$i]['controluser'] = 'pma';
$cfg['servers'][$i]['controlpass'] = '';
и пользовательское имя пользователя и пароль pma в базе phpMyAdmin одинаковы
Прочтите документацию phpmyadmin
В моем случае я использую соединение сокета. Установив $cfg ['Servers'] [$ i] ['controlhost'] = ''; (поэтому для пустого) исчезло сообщение "Connection for controluser, как определено в вашей конфигурации". Я думаю, причина в том, что если вы установите "controlhost", phpMyAdmin попытается сделать новое соединение с базой данных, тем самым пренебрегая сокетом.
В коде вы найдете:
if (! empty($cfg['Server']['controlhost'])
|| ! empty($cfg['Server']['controlport'])
В конце блока if выполняется новое соединение.
Прежде всего убедитесь, что у вас есть правильные username
и password
в этом файле:
/etc/dbconfig-common/phpmyadmin.conf
Как указано в /etc/phpmyadmin/config-db.php
:
## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include
Это username
и password
используются для доступа к phpmyadmin database
.
Таким образом, phpmyadmin database
должен иметь user
с тем же именем и паролем, назначенным ему, по крайней мере, с Database-specific privileges
Это решило это для меня....
О: