1

Тема: проблема. ошибка - пользователь root без пароля + #1045

Возникла типичная проблема с настройкой phpmyadmin 2.6.1 в Денвере 3,5
Сначала с кодировкой utf-8 . сделал всё что обычно рекомендуется - но она не заработала.
Решил что это может быть из за ошибки при открытии phpmyadmin : " пользователь root без пароля"
уже встречался ранее с этим.
ошибка при первом входе в PHPMyadmin - "пользователь root без пароля" не смутила меня сначала.
правил файл  config.cfg, там дописал пароль для root вручную.
Но на этот раз не помогло.
Выскочила ошибка #1045 - Access denied for user 'root'@'localhost' (using password: NO).
И никуда больше в PHP My admin эта ошибка меня не впускала.
Далее я стер пароль для root из config.cfg.
снова появилась сотносительная свобода и ошибка "пользователь root без пароля "
тогда я поюзал поиск на этом форуме и нашел аналогичную тему и совет задать  пароль для root но уже в phpmyadmin в привелегиях.
так и сделал.
и убил всё.
снова ошибка #1045 - Access denied for user 'root'@'localhost' (using password: NO). 
только теперь её никак не убрать. и никуда не пускает в phpmyadmin, независимо от .cfg-шки.


Помоге, пожалуста, это решить.

2

Re: проблема. ошибка - пользователь root без пароля + #1045

Eretic
После задания пароля пользователю root в привилегиях, надо этот пароль прописать в конфигурационном файле config.inc.php в переменной $cfg['Servers'][$i]['password'].

Access denied for user 'root'@'localhost' (using password: NO) - означает, что вы заходите под root без пароля.

3 (изменено: Eretic, 2009-08-13 08:15:36)

Re: проблема. ошибка - пользователь root без пароля + #1045

Спасибо. Ошибка исчезла теперь.
Но к сожалению кодировка utf-8 отображается кракозябрами.
Открыть новую тему по utf-8?

4

Re: проблема. ошибка - пользователь root без пароля + #1045

Eretic
Изначально Денвер настроен на работу с кодировкой cp1251 (windows-1251), чтобы нормально работать с utf8, необходимо отредактировать конфигурационный файл MySQL (my.ini/my.cnf) сменив все cp1251 в нем на utf8.

Обязательно должны присутствовать следующие конфигурационные директивы:
default-character-set=utf8
init-connect="SET NAMES utf8"

После внесения изменений в конфигурационном файле MySQL следует перезагрузить Денвер.

Существующие крякозябы эти настройки в читаемый вид не вернут, но все вновь записываемые данные должны иметь нормальный вид. Желательно после данных изменений переустановить используемый скрипт, если в нем еще нет никаких данных, конечно.

5

Re: проблема. ошибка - пользователь root без пароля + #1045

файл my.cnf отредактирован. Файла my.ini нету на моем компьютере.
тем не менее новые скрипты отображаются кракозябрами.
кстати, почему старые скрипты не должны нормально отображаться?
ведь раньше отображались. только мне пришлось переустановить дэнвер и всё слетело.

6

Re: проблема. ошибка - пользователь root без пароля + #1045

Конфигурационный файл может иметь имя my.cnf или my.ini.

Проверьте кодировку соединения с MySQL SQL запросом (введите в phpMyAdmin):
SHOW GLOBAL VARIABLES LIKE 'char%';

При смене кодировки соединения с MySQL данные будут идти в другой кодировке, соответственно.

Что именно отображается крякозябами? - Данные из БД, страницы сайта? Как данные выглядят в phpMyAdmin?

7 (изменено: Eretic, 2009-08-15 11:10:54)

Re: проблема. ошибка - пользователь root без пароля + #1045

При вводе команды SHOW GLOBAL VARIABLES LIKE 'char%'; - в новом окне открывается главная странице PHPMyadmin, при это в адресной сстроке следующий URL:

http://localhost/Tools/phpMyAdmin/main.php?lang=ru-utf-8&server=1&convcharset=iso-8859-1&collation_connection=utf8_general_ci&reload=1

Кракозябрами отображается мой сайт в localhost и вообще всё что в utf8.

В самой программе PHPMyadmin всё отображается нормально, в том числе и базы данных.
Сайт весь сделан в кодировке utf8, и соответственно на хостинге, в интернете сайт отображается коректно.

Несмотря на то что в PHPMyadmin установлена кодировка utf8 везде, и в поле Переменные:

basedir  \usr\local\mysql5\  \usr\local\mysql5\ 
binlog cache size  32768  32768 
bulk insert buffer size  8388608  8388608 
character set client  utf8  utf8 
character set connection  utf8  utf8 
character set database  utf8  utf8 
character set filesystem  binary  binary 
character set results  utf8  utf8 
character set server  utf8  utf8 
character set system  utf8  utf8 
character sets dir  \usr\local\mysql5\share\charsets\  \usr\local\mysql5\share\charsets\ 

... локальный сервер всё равно насильно суёт другую кодировку при открытии сайта в localhost.

8

Re: проблема. ошибка - пользователь root без пароля + #1045

Eretic сказал:

При вводе команды SHOW GLOBAL VARIABLES LIKE 'char%'; - в новом окне открывается главная странице PHPMyadmin

Не могу даже представить что там происходит и почему не выводит переменные, но вы можете их посмотреть в phpMyAdmin на странице Переменных, как сделали выше: важным является значение переменной character set connection.

Eretic сказал:

Кракозябрами отображается мой сайт в localhost и вообще всё что в utf8.

Есть два вида отображения крякозяб и имеют они разные причины: первый - весь сайт и данные БД в крякозябах; второй - часть кириллицы выводится нормально, а данные из БД в виде крякозябов. В первом случае причиной является настройка Apache или PHP, отдающие некорректные заголовки кодировки страниц сайта; во втором случае причина именно в кодировке соединения с MySQL.

9

Re: проблема. ошибка - пользователь root без пароля + #1045

Hanut сказал:

Не могу даже представить что там происходит и почему не выводит переменные, но вы можете их посмотреть в phpMyAdmin на странице Переменных, как сделали выше: важным является значение переменной character set connection.

Значение character set connection  utf8  utf8 

Hanut сказал:

Есть два вида отображения крякозяб и имеют они разные причины: первый - весь сайт и данные БД в крякозябах; второй - часть кириллицы выводится нормально, а данные из БД в виде крякозябов. В первом случае причиной является настройка Apache или PHP, отдающие некорректные заголовки кодировки страниц сайта; во втором случае причина именно в кодировке соединения с MySQL.

Мой случай - первый.

Есть идеи по решению этой  проблемы?

10

Re: проблема. ошибка - пользователь root без пароля + #1045

Eretic
Попробуйте в браузере переключить кодировку страницы на utf8, если вывод будет корректный, то необходимо понять почему страница находящаяся в utf8 выводится в неверной кодировке. Возможно потребуется сменить кодировку в переменных скрипта, либо перенастроить сервер, чтобы он не отдавал твердо прописанных в заголовке кодировки, искать эти записи следует в конфигурационных файлах Apache и PHP. Просто попробуйте пройтись по этим конфигурационным файлам с поиском прописанной жестко кодировки (cp1251, windows-1251 или что-то в этом роде).

11

Re: проблема. ошибка - пользователь root без пароля + #1045

Hanut сказал:

Eretic
Попробуйте в браузере переключить кодировку страницы на utf8, если вывод будет корректный, то необходимо понять почему страница находящаяся в utf8 выводится в неверной кодировке. Возможно потребуется сменить кодировку в переменных скрипта, либо перенастроить сервер, чтобы он не отдавал твердо прописанных в заголовке кодировки, искать эти записи следует в конфигурационных файлах Apache и PHP. Просто попробуйте пройтись по этим конфигурационным файлам с поиском прописанной жестко кодировки (cp1251, windows-1251 или что-то в этом роде).

Всё как раз так, как говорите.
При переключении в браузере на utf8 - шрифт преобразуется в нормальный.
Далее искал в известных мне конфигурационных файлах php.ini, my.cfg - "1251" ничего не нашел. Где ещё можно искать?
Кстати в папке C:\WebServers\usr\local\mysql5\share\charsets лежат файлы с кодировками, и среди них нету файла utf8, так и должно быть?

12

Re: проблема. ошибка - пользователь root без пароля + #1045

Eretic
Какая кодировка в браузере при крякозябах оказывается?

Посмотрите метатег страницы скрипта, в нем обязательно должно быть прописано utf-8, если это не так, то следует смотреть конфигурационные директивы скрипта.

Посмотрите нет ли .htaccess файла в корне сайта.

Eretic сказал:

Кстати в папке C:\WebServers\usr\local\mysql5\share\charsets лежат файлы с кодировками, и среди них нету файла utf8, так и должно быть?

Да, так и должно быть.

13 (изменено: Eretic, 2009-08-16 21:51:33)

Re: проблема. ошибка - пользователь root без пароля + #1045

Кодировка в браузере при кракозябрах - Кирилица-windows , то есть cp1251,  насколько я понимаю...

На всех страничках сайта в метатегах :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="ru-ru">

Скрипт вот этот имеется в виду?:

<?php
$db = mysql_connect("db.themes4x.mass.hc.ru","themes4x,"********");
mysql_select_db("wwwthemes4xpru",$db);
mysql_query('SET NAMES utf8');

.htaccess в корне сайта на локалхосте нету.
на хостинге - есть даже два htaccess - в корне сайта , и там где папка htdocs.
но, как я уже говорил,  там нормально отображается - посетители сайта, слава богу, никаких кракозябр не видят.

14

Re: проблема. ошибка - пользователь root без пароля + #1045

Eretic
К сожалению, даже не знаю чем помочь. Попробуйте обратиться на форум Денвера, возможно они подскажут что надо сделать для нормальной работы сайта в utf8. То, что я вижу, вопросов не вызывает.

Под скриптом я имею в виду то, что у вас на сайте.

15 (изменено: Eretic, 2009-08-17 15:37:28)

Re: проблема. ошибка - пользователь root без пароля + #1045

Hanut сказал:

Eretic
К сожалению, даже не знаю чем помочь. Попробуйте обратиться на форум Денвера, возможно они подскажут что надо сделать для нормальной работы сайта в utf8. То, что я вижу, вопросов не вызывает.

Под скриптом я имею в виду то, что у вас на сайте.

Решение найдено! Поюзал в Yandex, нашел на другом форуме:

Y:\usr\local\apache\conf\httpd.conf
В нём надо было изменить
AddDefaultCharset windows-1251
на
AddDefaultCharset utf8

Вы были правы, когда сказали что проблема в каком то из конфигов.

Но я не знал где именно.

Теперь utf8 работает коректно и в локалхосте.

16

Re: проблема. ошибка - пользователь root без пароля + #1045

Eretic
Спасибо, что отписались о решении проблемы, теперь будем знать. smile