|
|
|
| Помогите пожалуйста вопрос вот в чём установил себе сервер apache и поставил MySQL однако не могу создать не одну новую БД захожу под досом пишу :
D:\usr\MySQL\bin\mysqladmin create database work
в ответ получаю
mysqladmin: CREATE DATABASE failed; error: 'Access denied for user: '@localhost'
to database 'database''
Что делать пролазил инет пробовал по всякому ничего не получаеться подскажите как я могу создать БД и чтоб всё работало | |
|
|
|
|
|
|
|
для: 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 имел права для создания баз данных. | |
|
|
|
|
|
|
|
для: WebTech
(24.11.2005 в 10:56)
| | выдаёт вот такую ошибку ERROR 1130: Host 'proba' is not allowed to connect to this MySQL server так что не знаю что и делать | |
|
|
|
|
|
|
|
для: flatis
(24.11.2005 в 11:59)
| | У тебя же mysql на localhost стоит :-)
mysql -h localhost -u login -p password
|
| |
|
|
|
|
|
|
|
для: WebTech
(24.11.2005 в 12:09)
| | Спасибо большое за подсказку вот ввожу теперь так и вот что получаю снова
ERROR 1045: Access denied for user: 'name@localhost' <Using password: Yes>
|
хотя user name и password ставлю те что вводил под WinMySQLadmin когда первый раз входил. Заранее Вас благодарю | |
|
|
|
|
|
|
|
для: Flatis
(24.11.2005 в 12:40)
| | Если учётные записи не настраивались, у вас сейчас всего два пользователя анонимный (имя - пустая строка) с привилегиями USAGE, и соотвественно не способного создавать базы данных и root. Обе учётные записи имеют в качестве пароля пустую строку. Поэтому следует писать
D:\usr\MySQL\bin\mysql -u root
|
После этого можно создавать базу данных. | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|
|
|
|
|
для: Flatis
(24.11.2005 в 13:11)
| | Точка с запятой ";" в конце запроса стояла?
mysql> create database work;
|
| |
|
|
|
|
|
|
|
для: cheops
(24.11.2005 в 12:57)
| | Да вот ещё что страно в папке mySQL/data при установке создалось 2 тестовых базы одна под названием test другая mysql но в графическом интерфейсе mySQLadmin в закладке databases видна только одна база test. Не могу понять почему? | |
|
|
|
|
|
|
|
для: Flatis
(24.11.2005 в 13:16)
| | test это действительно какая-то тестовая база, пустая. А mysql это база данных, где СУБД MySQL хранит данные о пользователях, их полномочиях и правах доступа. Она очень даже нужна для работы, ее опасно модифицировать не зная, что там к чему :-). Поэтому mysqladmin и не показывает ее в целях безопасности. | |
|
|
|
|
|
|
|
для: WebTech
(24.11.2005 в 13:32)
| | а как на счёт того что она ошибку выдаёт что делать и как быть | |
|
|
|
|
|
|
|
для: Flatis
(24.11.2005 в 13:43)
| | Точка с запятой ";" в конце запроса стояла?
mysql> create database work;
|
| |
|
|
|
|
|
|
|
для: WebTech
(24.11.2005 в 13:49)
| | Спасибо большое теперь создаёться только вот второй вопрос почему новые базы не отображаються в графическом интерфейсе MySQLadmin в закладка databases вроде бы папки создались но не отображаються. Подскажите в чём может быть причина. | |
|
|
|
|
|
|
|
для: Flatis
(24.11.2005 в 14:09)
| | Эта тулуза немного больная на голову, причём настолько, что её уже исключили из MySQL - у вас видно старый дистрибутив. Новые базы появятся после её перезагрузки. Если вы хотите использовать графический клиент - посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5360 | |
|
|
|
|
|
|
|
для: 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!
|
| |
|
|
|
|
|
|
|
для: 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(HostName, UserName, Password))
{
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.",'Ñòðîêà ".$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 | |
|
|
|
|
|
|
|
для: WebTech
(24.11.2005 в 14:33)
| | А как поставить этот phpmyAdmin под пароль чтоб никто не залез кроме меня из под инета | |
|
|
|
|
|
|
|
для: 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 пропиши свои | |
|
|
|
|
|
|
|
для: WebTech
(24.11.2005 в 16:05)
| | но всё равно если я устанавливаю пароль и имя и host то наберая в броузере адресс типа
www.name.com/phpmyadmin я прямо попадаю в настройки базы а как сделать так чтоб набрав строчку с адресом поподать на страницу где надо вести пароль и имя а только уж потом попадать в настройки базы | |
|
|
|
|
|
|
|
для: Flatis
(24.11.2005 в 16:29)
| | Исправьте строку в конфигурационном файле config.inc.php
$cfg['Servers'][$i]['auth_type'] = 'cookie';
|
| |
|
|
|
|
|
|
|
для: cheops
(24.11.2005 в 22:03)
| | Спасибо Вам большое за Вашу помощь доходчиво и понятно даже для людей ничего не понимающих. Разобрался всё понятно и работает. | |
|
|
|