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

Форум MySQL

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

 

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

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

тема: БД под MySQL
 
 автор: flatis   (24.11.2005 в 03:49)   письмо автору
 
 

Помогите пожалуйста вопрос вот в чём установил себе сервер apache и поставил MySQL однако не могу создать не одну новую БД захожу под досом пишу :

D:\usr\MySQL\bin\mysqladmin create database work

в ответ получаю

mysqladmin: CREATE DATABASE failed; error: 'Access denied for user: '@localhost'
to database 'database''

Что делать пролазил инет пробовал по всякому ничего не получаеться подскажите как я могу создать БД и чтоб всё работало

   
 
 автор: WebTech   (24.11.2005 в 10:56)   письмо автору
 
   для: flatis   (24.11.2005 в 03:49)
 

Надо так. Сначала запускаем программу монитор mysql
D:\usr\MySQL\bin\mysql -h host -u login -p password
где host - хост, на котором работает mysql, login и password соответственно логин и пароль для доступа к серверу mysql.
Затем в мониторе:
mysql> create database work;
Необходимо, чтобы пользователь под которым заходишь на сервер mysql имел права для создания баз данных.

   
 
 автор: flatis   (24.11.2005 в 11:59)   письмо автору
 
   для: WebTech   (24.11.2005 в 10:56)
 

выдаёт вот такую ошибку ERROR 1130: Host 'proba' is not allowed to connect to this MySQL server так что не знаю что и делать

   
 
 автор: WebTech   (24.11.2005 в 12:09)   письмо автору
 
   для: flatis   (24.11.2005 в 11:59)
 

У тебя же mysql на localhost стоит :-)

mysql -h localhost -u login -p password

   
 
 автор: Flatis   (24.11.2005 в 12:40)   письмо автору
 
   для: WebTech   (24.11.2005 в 12:09)
 

Спасибо большое за подсказку вот ввожу теперь так и вот что получаю снова
ERROR 1045: Access denied for user: 'name@localhost' <Using password: Yes>


хотя user name и password ставлю те что вводил под WinMySQLadmin когда первый раз входил. Заранее Вас благодарю

   
 
 автор: cheops   (24.11.2005 в 12:57)   письмо автору
 
   для: Flatis   (24.11.2005 в 12:40)
 

Если учётные записи не настраивались, у вас сейчас всего два пользователя анонимный (имя - пустая строка) с привилегиями USAGE, и соотвественно не способного создавать базы данных и root. Обе учётные записи имеют в качестве пароля пустую строку. Поэтому следует писать
D:\usr\MySQL\bin\mysql -u root

После этого можно создавать базу данных.

   
 
 автор: Flatis   (24.11.2005 в 13:11)   письмо автору
 
   для: cheops   (24.11.2005 в 12:57)
 

сделал как Вы говорите и вот что она выдала
 ERROR 1064: You have an error in your SQL syntax.  Check the manual that corresp
onds to your MySQL server version for the right syntax to use near 'create datab
ase work:
create database work' at line 2

   
 
 автор: WebTech   (24.11.2005 в 13:27)   письмо автору
 
   для: Flatis   (24.11.2005 в 13:11)
 

Точка с запятой ";" в конце запроса стояла?

mysql> create database work;

   
 
 автор: Flatis   (24.11.2005 в 13:16)   письмо автору
 
   для: cheops   (24.11.2005 в 12:57)
 

Да вот ещё что страно в папке mySQL/data при установке создалось 2 тестовых базы одна под названием test другая mysql но в графическом интерфейсе mySQLadmin в закладке databases видна только одна база test. Не могу понять почему?

   
 
 автор: WebTech   (24.11.2005 в 13:32)   письмо автору
 
   для: Flatis   (24.11.2005 в 13:16)
 

test это действительно какая-то тестовая база, пустая. А mysql это база данных, где СУБД MySQL хранит данные о пользователях, их полномочиях и правах доступа. Она очень даже нужна для работы, ее опасно модифицировать не зная, что там к чему :-). Поэтому mysqladmin и не показывает ее в целях безопасности.

   
 
 автор: Flatis   (24.11.2005 в 13:43)   письмо автору
 
   для: WebTech   (24.11.2005 в 13:32)
 

а как на счёт того что она ошибку выдаёт что делать и как быть

   
 
 автор: WebTech   (24.11.2005 в 13:49)   письмо автору
 
   для: Flatis   (24.11.2005 в 13:43)
 

Точка с запятой ";" в конце запроса стояла?

mysql> create database work;

   
 
 автор: Flatis   (24.11.2005 в 14:09)   письмо автору
 
   для: WebTech   (24.11.2005 в 13:49)
 

Спасибо большое теперь создаёться только вот второй вопрос почему новые базы не отображаються в графическом интерфейсе MySQLadmin в закладка databases вроде бы папки создались но не отображаються. Подскажите в чём может быть причина.

   
 
 автор: cheops   (24.11.2005 в 22:00)   письмо автору
 
   для: Flatis   (24.11.2005 в 14:09)
 

Эта тулуза немного больная на голову, причём настолько, что её уже исключили из MySQL - у вас видно старый дистрибутив. Новые базы появятся после её перезагрузки. Если вы хотите использовать графический клиент - посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5360

   
 
 автор: Flatis   (24.11.2005 в 14:20)   письмо автору
 
   для: WebTech   (24.11.2005 в 13:49)
 

вот ещё теперь пытаюсь запустить вот такой тес т

<?
Error_Reporting
(1+2+4);
define("DBName","work");
define("HostName","localhost");
define("UserName","мой username");
define("Password","мой пароль");
if(!
mysql_connect(HostName,UserName,Password))
{ 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";
}
?>

и вот что получаю в ответ

Warning: mysql_connect(): Access denied for user: 'мойusername@localhost' (Using password: YES) in D:\www\test.php3 on line 7
Не могу соединиться с базой work!

   
 
 автор: WebTech   (24.11.2005 в 14:33)   письмо автору
 
   для: Flatis   (24.11.2005 в 14:20)
 

Возвращаясь к сообщению cheops'a...
попробуй написать

define("UserName","root"); 
define("Password","");

И вообще интересный у тебя код! :-)
Во первых тебе нужно выбрать бд. После mysql_connect() надо написать

mysql_select_db($DBName);

Затем. Запрос выполняется с помощью функции mysql_query(), т.е.

$res = mysql_query("create table test(id int,a text)");

функция возвращает идентификатор, который потом можно использовать для обработки результатов запроса.
Короче, твой код надо переписать так.

<?php
Error_Reporting
(1+2+4); 
define("DBName","work"); 
define("HostName","localhost"); 
define("UserName","root"); 
define("Password",""); 

if(!
mysql_connect(HostNameUserNamePassword)) 

echo 
"Не могу подключиться к серверу базы данных<br>"
exit; 
}

if(!
mysql_select_db($DBName)) 

echo 
"Не могу подключиться к базе данных!<br>"
exit; 
}

// Создаем таблицу test. Если такая таблица уже есть, сообщение об ошибке будет
// подавлено, т.к. используется "@" 
mysql_query("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.",'&#209;&#242;&#240;&#238;&#234;&#224; ".$i."!')"); 

// Выводим все записи 
$r=mysql_query("select * from test"); 
for(
$i=0$i<mysql_num_rows($r); $i++) 
$f=mysql_fetch_array($r); 
echo 
$f['id']." -> ".$f['a']."<br>"

?>


А про mysqladmin ничего не могу сказать, никогда им не пользовался. Т.е. попробовал один раз, и впечатления не самые. Предлагаю тебе поставить phpMyAdmin и забыть про все остальное :-) Правда для его работы нужен PHP, но ведь MySQL не бывает без PHP и наоборот :-)
Скачать можно с http://www.phpmyadmin.net/home_page/downloads.php
или с русским интерфейсом, например, с http://skan.ru/file/phpMyAdmin-2.6.4.zip

   
 
 автор: Flatis   (24.11.2005 в 15:42)   письмо автору
 
   для: WebTech   (24.11.2005 в 14:33)
 

А как поставить этот phpmyAdmin под пароль чтоб никто не залез кроме меня из под инета

   
 
 автор: WebTech   (24.11.2005 в 16:05)   письмо автору
 
   для: Flatis   (24.11.2005 в 15:42)
 

В корневом каталоге phpMyAdmin'a есть файл config.inc.php, в нем настраиваются множество параметров, в том числе хост, логин, пароль. В частности, надо установить:

$cfgServers[1]['host'] = 'host';
$cfgServers[1]['user'] = 'login';
$cfgServers[1]['password'] = 'password';

вместо host, login и password пропиши свои

   
 
 автор: Flatis   (24.11.2005 в 16:29)   письмо автору
 
   для: WebTech   (24.11.2005 в 16:05)
 

но всё равно если я устанавливаю пароль и имя и host то наберая в броузере адресс типа
www.name.com/phpmyadmin я прямо попадаю в настройки базы а как сделать так чтоб набрав строчку с адресом поподать на страницу где надо вести пароль и имя а только уж потом попадать в настройки базы

   
 
 автор: cheops   (24.11.2005 в 22:03)   письмо автору
 
   для: Flatis   (24.11.2005 в 16:29)
 

Исправьте строку в конфигурационном файле config.inc.php
$cfg['Servers'][$i]['auth_type']     = 'cookie';

   
 
 автор: flatis   (28.11.2005 в 19:47)   письмо автору
 
   для: cheops   (24.11.2005 в 22:03)
 

Спасибо Вам большое за Вашу помощь доходчиво и понятно даже для людей ничего не понимающих. Разобрался всё понятно и работает.

   
Rambler's Top100
вверх

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