SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 26.09.2009 18:29:36

Kayrat
Участник
Зарегистрирован: 26.09.2009
Сообщений: 6

помогите разобраться с настройками.

Доброго времени суток. Помогите новичку разобраться с работой сервера. Установил у себя на компьютере Apache, PHP и MySQL 5.1.39. Апаче и PHP работают. Установил MySQL в папку не по умолчанию, а на диск D:\. установил пароль на пользователя root. Для тестирования работы прописал простейший скрипт, указанный в рекомендациях.

<?php
  $dblocation = "127.0.0.1";
  $dbname = "test";
  $dbuser = "root";
  $dbpasswd = "server"; //ВВЕДИТЕ ПАРОЛЬ root пользователя,
//введенный при установке MySQL
  $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
  if (!$dbcnx)
  {
    echo "<p>Сервер MySQL не доступен!</p>";

exit();
  }
  if (!@mysql_select_db($dbname,$dbcnx))
  {
    echo "<p>База данных, не доступна!</p>"; exit();
  }
  $ver = mysql_query("SELECT VERSION()");
  if(!$ver)
  {
    echo "<p>Ошибка в запросе</p>"; exit();
  }
  echo mysql_result($ver, 0);
?>

при запуске через firefox получаю сообщение об ошибке

Сервер MySQL не доступен!

зато, если прописать в файле настроек my.ini в секции [mysqld]
[mysqld]
skip-grant-tables

на выходе имеем нормальный результат.

хотя при работе с MySQL через клиента вхожу с паролем "server" и ни каких проблем. Какая то роблема с именами и правами чтоли?? Помогите разобраться. Спасибо.

Неактивен

 

#2 27.09.2009 05:45:38

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите разобраться с настройками.

вместо  $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
напишите $dbcnx = mysql_connect($dblocation, $dbuser, $dbpasswd) or die(mysql_error());

Тогда вместо информативной записи "Сервер MySQL не доступен!" вы получите сообщение об ошибке.

Неактивен

 

#3 28.09.2009 01:14:03

Kayrat
Участник
Зарегистрирован: 26.09.2009
Сообщений: 6

Re: помогите разобраться с настройками.

Спасибо за совет вот ошибка: "client does not support authentication protocol requested by server; consider upgrading MySQL client"
(клиент не поддерживает опознавательный протокол, который требует сервер; считайте модернизацию клиентом MySQL)
Правда от этого понятнее не стало и что с этим делать.

Неактивен

 

#4 28.09.2009 05:17:33

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите разобраться с настройками.

Как раз наоборот, стало понятно smile

Если возникает ошибка (Client does not support autentification protocol request by server; consider upgrading MySQL client), клиент (то есть ваша программа) не поддерживает требуемый сервером протокол.
Эту ошибку можно исправить, установив пароль старого формата:

SET PASSWORD FOR user@host = OLD_PASSWORD('password');


Рекомендую посмотреть статью  http://sqlinfo.ru/articles/info/11.html

Неактивен

 

#5 29.09.2009 01:36:12

Kayrat
Участник
Зарегистрирован: 26.09.2009
Сообщений: 6

Re: помогите разобраться с настройками.

Нет фигня какая то. менял пароли на root, создавал пользователя с административными правами и его пароли менять пробывал толку нет. Я думаю не может ли быть изза неправильной настройки файла My.ini ?

Неактивен

 

#6 29.09.2009 08:03:28

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите разобраться с настройками.

Вы пароль старого образца установили?

SET PASSWORD FOR root@localhost = OLD_PASSWORD('server');

Неактивен

 

#7 29.09.2009 12:16:46

Kayrat
Участник
Зарегистрирован: 26.09.2009
Сообщений: 6

Re: помогите разобраться с настройками.

Спасибо за совет. все заработало, только почему то не с первого раза. Именно так забивал пароль, сработало только раза с 4го, наверное что-то не так писал. Спасибо.
Еще Вопрос один: Если я меняю настройки в файле my.ini, как перезапустить виртуальный сервер не перегружая комп? Изменения вступают в силу только после того как перезагружаю комп. Пробывал перезагружать Apache через выход потом пуск, через рестарт. Не получается, точнее работают старые настройки. Каждый раз перезагружать комп в лом.

Неактивен

 

#8 29.09.2009 12:37:54

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите разобраться с настройками.

Если у вас винда, то Пуск --> Настройка --> Панель управления --> Администрирование --> Службы
В них ищите MySQL и перезапускаете.

Неактивен

 

#9 01.10.2009 22:32:30

Kayrat
Участник
Зарегистрирован: 26.09.2009
Сообщений: 6

Re: помогите разобраться с настройками.

Да тяжел путь познания...
Следующая проблема возникла при тестировании базы. Есть вот такой скрипт для проветки работы MySQL
<?
Error_Reporting(1+2+4);
define("DBName","testbase");
define("HostName","localhost");
define("UserName","root");
define("Password","server");
$dbcnx = @mysql_connect(HostName,UserName,Password);
if(!$dbcnx)
{ echo "Не могу соединиться с базой ".DBName."!<br>"; exit; }
// Создаем таблицу test. Если такая таблица уже есть, сообщение об ошибке будет
// подавлено, т.к. используется "@"
@mysql(DBName,"create table test(id int,a text)");
// Вставляем в таблицу 10 записей
for($i=0; $i<10; $i++)
{ $id=time();
mysql(DBName,"insert into test(id,a) values($id,'Строка $i!')");
}
// Выводим все записи
$r=mysql(DBName,"select * from test");
for($i=0; $i<mysql_numrows($r); $i++)
{ $f=mysql_fetch_array($r);
echo "$f[id] -> $f[a]<br>\n";
}
?>

так вот, проблем с пользователем нет, но при выводе не пигет русские буквы, а сплошные вопросики. Решал проблему так: http://www.opennet.ru/base/dev/mysql_ru … m.txt.html
и еще так http://verlihub.aliki.ru/index.php?titl … 1%8B%D0%BA
команда ALTER DATABASE имя_базы CHARSET cp1251;
прошла но не помогла
Вариант 1 тоже не принес результата
во втором варианте не знаю что такое lua-скрипт, где каталог $VERLIHUB_CFG/scripts.
В третьем варианте не знаю где найти файл cmysql.cpp и как сделать сделать make и make install
А для четвертого варианта не хватает файла dbconfig
Вообщем больше вопросов чем ответов. В конечном итоге может грохнуть этот вариант MySQL и установить руссифицированный, если есть??? Может ктото решал такую проблему и знает как с ней бороться. Спасибо.

Неактивен

 

#10 01.10.2009 22:58:19

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите разобраться с настройками.

См FAQ пункт 3 и 8

Скорее всего в вашем случае будет достаточно выполнить в скрипте "SET NAMES cp1251", но я всё-таки рекомендую вам прочитать статьи из 3го пункта. Думаю не пожалеете потраченного времени.


P.S. Команда ALTER DATABASE имя_базы CHARSET cp1251; изменила дефолтную кодировку базы данных. Это та кодировка, которая используется при создании таблицы, если вы не указываетет явно кодировку для создаваемой таблицы. Соответственно на уже созданные таблицы эта команда никак не повлияет.

Неактивен

 

#11 02.10.2009 22:04:19

Kayrat
Участник
Зарегистрирован: 26.09.2009
Сообщений: 6

Re: помогите разобраться с настройками.

Cпасибо за ответ. После удаления базы database и последующей ее создания все заработало как положено в каждой строке русские буквы. А я по незнанию долбал в той старой базе. Спасибо Vasya.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson