Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Host 'localhost' is not allowed to connect to this MySQL server
 
 автор: Nickolay   (08.10.2005 в 13:54)   письмо автору
 
 

У меня такая проблема. После проведения внешнего аудита компьютера (компьютер сканировался с Интернета с помощью программы xSpider, файерволл на компе был специально отключен) появилась следующая проблема. На компьютере был установлен локальный web-сервер для тестирования скрипта Internet-магазина. После тестирования возникла следующая проблема:
При загрузке страницы Интернет-магазина возникает ошибка:

Warning: mysql_connect() [function.mysql-connect]: Host 'localhost' is not allowed to connect to this MySQL server in C:\Sites\home\localhost\www\shop\includes\database\mysql.php on line 13
Host 'localhost' is not allowed to connect to this MySQL server

Также невозможно подсоединиться к MySQL-серверу с помощью стандартных утилит mysql.exe, mysqladmin.exe, winmysqladmin.exe, программы MySQLAdministrator. Во всех случаях одна ошибка:

Host 'localhost' is not allowed to connect to this MySQL server

То есть MySQL Server не дает соединиться с ним с узла localhost. До тестирования никаких ошибок в работе сервера не возникало.
Сброс пароля пользователя root на localhost не помогло.

Конфигурация сервера:
ОС – Windows XP Professional SP2
mysql-4.1.12-win32
php-5.0.5-Win32
apache_2.0.54-win32-x86-no_ssl
mysql-administrator-1.1.2-win
phpMyAdmin-2.6.4-pl1
winmysqladmin-3.23.36

Очень прошу помочь Вас в решении моей проблемы.

   
 
 автор: cheops   (08.10.2005 в 14:35)   письмо автору
 
   для: Nickolay   (08.10.2005 в 13:54)
 

Зайдите в phpMyAdmin, выберите пункт привилегии на главной странице. Посмотрите пользователей - в поле Хост должен везде стоять localhost, если видите там % или IP-адреса - изменяйте на localhost.

   
 
 автор: Nickolay   (10.10.2005 в 08:15)   письмо автору
 
   для: cheops   (08.10.2005 в 14:35)
 

Через PhpMyAdmin тоже ошибка:
phpMyAdmin попытался соединиться с сервером MySQL, но сервер отверг соединение. Проверьте имя хоста, пользователя и пароль в config.inc.php.
Ответ MySQL:
#1130 - Host 'localhost' is not allowed to connect to this MySQL server

Хотя до сканирования сервера, все было нормально, config.inc.php я не менял.

   
 
 автор: cheops   (10.10.2005 в 14:49)   письмо автору
 
   для: Nickolay   (10.10.2005 в 08:15)
 

А вы из под какого пользователя заходите в phpMyAdmin? Доступен ли root? Можно снести MySQL, уничтожить директорию C:/mysql/data/mysql - при этом остальные базы данных в C:/mysql/data/ - поставить MySQL поверх - это восстановит пользователя root.

   
 
 автор: Nickolay   (11.10.2005 в 09:05)   письмо автору
 
   для: cheops   (10.10.2005 в 14:49)
 

В PhpMyAdmin захожу все под тем же пользователем root/localhost, как и делал это раньше, т.к. у меня всего один пользователь MySQL. А можно не сносить MySQL, и решить проблему другим способом?
Вот еще что:
C:\Server\MySQL\bin>mysqld --skip-grant-tables --console
InnoDB: Error: log file .\ib_logfile0 is of different size 0 10485760 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
051011 9:10:59 [ERROR] Can't init databases
051011 9:10:59 [ERROR] Aborting

Странно, но в my.ini файле стоит размер лог файла innodb_log_file_size=10M
Размер лог файлов в папке .\MySQL\Data действительно logfile0=10240 Кб и logfile1=10240 Кб

   
 
 автор: Nickolay   (11.10.2005 в 11:41)   письмо автору
 
   для: Nickolay   (11.10.2005 в 09:05)
 

Улалил я логи MySQL: logfile0 и logfile1
И запустил сервер:
C:\Server\MySQL\bin>mysqld --skip-grant-tables --console
В службах сервер как бы не запущен, но в диспетчере задач процесс mysqld.exe висит - значит сервер все таки запустился.
Интернет-магазин загрузился, но как мне теперь восстановить таблицу host и прописать там localhost?

Кстати, с --skip-grant-tables PhpMyAdmin загрузился (после того как я удалил логи MySQL).
Зашел в меню "Привелегии" - а там ниодного пользователя !!! И создать нового я не могу - не хватает прав. :(
SQL-запрос:
GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' IDENTIFIED BY '*********' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
Ответ MySQL:
#1290 - The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

   
 
 автор: cheops   (11.10.2005 в 15:11)   письмо автору
 
   для: Nickolay   (11.10.2005 в 11:41)
 

Поставьте в соседнюю директорию ещё одну копию MySQL. Остановите оба сервера, сделайте резервную копию базы данных mysql повреждённого сервера. А затем скопируйте из директории C:/new_mysql/data/mysql в С:/mysql/data следующие файлы
host.frm
host.MYD
host.MYI
user.frm
user.MYD
user.MYI

   
 
 автор: Nickolay   (11.10.2005 в 17:25)   письмо автору
 
   для: cheops   (11.10.2005 в 15:11)
 

Вообщем, удалил логи MySQL - logfile0 и logfile1
Потом запустил Mysqld-сервер с опцией
C:\Server\MySQL\bin>mysqld --skip-grant-tables
Зашел в консольный клиент mysql под root@localhost
Создал пользователя root@localhost:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost
-> IDENTIFIED BY '*********' WITH GRANT OPTION;
Теперь все нормально, и в PhpMyAdmin--Привелегии - показывает пользователя
root localhost ALL PRIVILEGES
И ВСЕ РАБОТАЕТ!!!
Но все же спасибо за советы, cheops !!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования