как настроить базы данных и PhpMyAdmin в Denwer Как создать свой сайт > Вебмастеру > Создание своего сайта > Блог Андрея Морковина > Настройка базы данных и PhpMyAdmin в Denwer

Как настроить базы данных и PhpMyAdmin в Denwer?

Хорошо воспитанные люди уходят с презентаций голодными.
Никита Богословский.
18 июня 2009 года

    Вводная информация. PhpMyAdmin — интерфейс, позволяющий нам работать с базой данных. MySql (база данных) — основной инструмент для создания динамических сайтов.

 

 

    Принцип работы заключается в следующем: создаётся HTML-каркас сайта и в определённые места каркаса (например, в область основного содержимого) посредством PHP-скриптов из базы данных выводится информация, которая и формирует контент сайта.

    А в данной статье мы научимся создавать базы данных на локальном компьютере при помощи «Денвера».

    Итак, запускаем «Денвер» и погнали углубляться в дебри (читать об установке «Денвера» подробно).

Запуск Denwer

    Для запуска «Денвера» используем ярлык «Start Denwer».

    В адресной строке браузера набираем привычное «http://localhost».

    Прокручиваем загрузившуюся страницу до списка ссылок:

«Локалхост», загруженный с локального компьютера

    Нас интересует ссылка «http://localhost/Tools/phpMyAdmin».

    Если кликнуть по ней, загрузится, не поверите, программа «phpMyAdmin»:

Запускаем phpMyAdmin

    Для начала, нам нужно создать пользователя для базы данных. Пользователь имеет определённые привилегии (может редактировать, удалять, создавать новые таблицы и позиции в базе данных) и авторизуется по заданному логину и паролю.

    При покупке хостинга у большинства хостинг-провайдеров для вас автоматически создаётся база данных и аккаунт пользователя с логином и паролем, имеющий все необходимые привилегии. На нормальном хостинге есть точно такой же phpMyAdmin, посредством которого вы сможете управлять таблицами и их содержимым, а также импортировать данные из локальной базы данных в базу данных хостинга. Логин и пароль для доступа к базе данных, а также ссылка на phpMyAdmin высылаются хостинг-провайдером на ваш e-mail.

    На локальном же компьютере нам придётся самим создать пользователя.

    Кликаем по ссылке «Привилегии» в окне «phpMyAdmin» и попадаем на страницу с перечислением аккаунтов всех пользователей базы данных:

Создаём нового пользователя в phpMyAdmin

    На странице «Привилегии», кликаем по ссылке «Добавить нового пользователя»:

Добавляем нового пользователя в phpMyAdmin

    На странице добавления пользователя, вводим логин и пароль и выбираем все привилегии (чего уж мелочиться):

Логин, пароль и привилегии у нового пользователя в phpMyAdmin

    Нажимаем кнопку «Пошёл» и, если всё ОК, видим подтверждение создания нового пользователя:

Новый пользователь добавлен в phpMyAdmin

    Теперь, когда мы будем работать с php-скриптом и подключаться при помощи него к базе данных, нужно будет использовать логин и пароль пользователя, указанные при его создании (главное не забыть, что мы там написали при создании пользователя).

Создадим новую таблицу в базе данных для нашего проекта

    Переходим на главную страницу «phpMyAdmin»:

Ссылка на главную страницу phpMyAdmin

    И прямо на главной странице вводим название новой базы данных. Жмём кнопку «Создать»:

Создаём новую базу данных в phpMyAdmin

    Вот и всё: база создана:

Создали новую базу данных в phpMyAdmin

    Информация в базе данных хранится не просто так, а в таблицах. Поэтому нам нужно создать хотя бы одну таблицу с некоторым кол-вом полей. Для этого, воспользуемся полем «Создать новую таблицу в БД».

    Задаём таблице какое-то название и указываем кол-во полей в этой таблице:

Создаём новую таблицу в базе данных в phpMyAdmin
Отмечу вот какой факт: таблиц в базе может быть сколь угодно много. И для того, чтобы взять данные из таблицы, нужно просто указать её название и поле, из которого происходит выборка данных. Далее вставляем эти данные в нужное место HTML-каркаса посредством php-скриптов.

    После нажатия кнопки «Пошёл», загружается страница создания полей в базе данных:

Создаём поля в таблице в базе данных в phpMyAdmin

Рис. 1. Создание полей в таблице.

А теперь, чтобы двигаться дальше, нам нужно «скушать» немного теории.

    Информация в базе данных хранится следующим образом.

    Есть база данных, имеющая определённое название (в нашем случае, «new_base»). В базе данных расположены таблицы. Их может быть сколь угодно много (в нашем случае, мы создаём таблицу «tablica» в базе данных «new_base»). Внутри таблицы есть поля с данными в ячейках. Их количество задаётся при создании таблицы (в нашем случае, мы создаём 3 поля).

    Графически, это дело можно представить так:

Графическая схема устройства базы данных

    В любой таблице обязательно должно присутствовать служебное поле, называемое полем первичного ключа. Это поле позволяет нам нумеровать строки в таблице и потом обращаться к определённой строке по её значению в поле первичного ключа (в нашем случае, роль поля первичного ключа играет поле «id»).

    С теорией закончили, переходим к созданию таблиц на практике.

Весь текст ниже относится к Рис. 1.

    В начале, давайте создадим это столь необходимое поле первичного ключа. Полем первичного ключа у нас будет самое первое поле. Поехали по шагам.

1). Даём название нашему полю (например, «id»).

2). Выбираем тип поля. По умолчанию, в типе поля стоит значение VARCHAR. Это значит нетипизированные данные. Т. е. VARCHAR — любые символы. Текст, цифры, буквы: это всё — VARCHAR. Если мы выбираем тип VARCHAR, то в следующем поле ввода «Длины/Значения» нужно указать максимальное количество символов, содержащихся в ячейке.

    Ещё один интересный тип данных — TEXT. Тип данных TEXT говорит сам за себя: в ячейках поля данного типа могут содержаться любые текстовые символы (буквы, цифры, пробелы, коды HTML и т. д.). Но, в отличии от типа VARCHAR, типу TEXT не нужно указывать «Длины/Значения». Для TEXT длина значения автоматически приравнивается 65535 символов и поле ввода «Длины/Значения» нужно оставить пустым.

    И последний интересующий нас тип данных — INT. В ячейках поля типа INT могут содержаться только целочисленные значения. При указании полю типа INT, необходимо указать количество символов «Длины/Значения».

    Остальные типы данных используются очень редко. И когда вы почувствуете необходимость в использовании других типов данных, вы будете уже настолько развитыми в данном направлении, что и сами будете знать, что они означают. А на данном этапе, я скромно умолчу о всех оставшихся «извращённых» типах данных.

    А теперь внимание: для задания параметров поля первичного ключа необходимо выбирать тип данных INT, потому как в ячейках этого служебного поля будут именно целочисленные данные (номера строк).

3). Для поля первичного ключа, нам необходимо изменить значение «Дополнительно» на «auto_increment». Делается это для того, чтобы, при создании новой строки, нам не нужно было заморачиваться над внесением данных в поле первичного ключа. Оно будет заполняться автоматически (к значению в предыдущей строке поля первичного ключа добавится единица, инкремент, ёлки-палки).

4). И, в конце концов, нам нужно поставить радио-переключатель в положение «Первичный».

5). При желании, можно указать в «Атрибуты» значение «UNSIGNED». Это значение говорит, что в ячейках данного поля будут содержаться только положительные цифры. Делается это для оптимизации и сокращения выделяемой под переменные памяти.

    Вот, собственно, и всё с полем первичного ключа.

    Поле «Ноль», по умолчанию, имеет значение «not null». Это значит, что ячейки данного поля не могу быть пустыми, а должны содержать хоть какое-то значение. Если у вас возникла необходимость держать ячейки какого-то поля пустыми (понятно, что для поля первичного ключа такая ситуация возникнуть не может никак), то поменяйте значение на «null».

    Далее быстренько дадим необходимые атрибуты двум оставшимся полям (пусть это будут «VARCHAR» и «TEXT») и посмотрим на картинке, как это всё у меня получилось:

Типы данных в таблице

    Пару слов о «Длины/Значения». Для поля «id» указано 4. Это значит, что в ячейках данного поля может содержаться информация не более 4-х знаков (1000, 15, 9999 может содержаться, а вот 10000 — уже нет). Аналогичная штука и для поля «infa», имеющего тип «VARCHAR».

    Нажимаю кнопку «Сохранить» и моя вновь спроектированная таблица для базы данных появляется на свет.

    Если я кликну по ссылке «Вставить», то я смогу заполнить новорождённую таблицу в ручном режиме:

Редактируем таблицу в базе данных phpMyAdmin
Вставка данных в созданную таблицу в phpMyAdmin

    Поле «id» можно оставить пустым, так как оно у нас имеет атрибут «auto_increment» и в ячейку автоматически запишется для первого поля значение «1».

    Внизу страницы нажимаю кнопку «Пошёл» и запись вносится в базу данных.

    Просмотреть информацию, записанную в таблицу, можно кликнув по вкладке «Обзор».

    Автор: Андрей Морковин.

 

Ещё материалы по этой теме:

 

 

Комментарии:

Lardok
…кто может подсказать где именнно, в каких папках, храниться эта самая БД? т.е. БД — это в конечном этого какой-то файл, так вот где этот самый файл собственно и находится?..

Sergey
to Lardok. В phpMyAdmin есть функция экспорта БД в архив. И будет Вам файл…

Lardok
Это я знаю!
Я другое спрашивал! К примеру, есть статья. Она же где-то храниться? Ее ручками можно как-то поправить?
Если зайти по арессу C:\WebServers\usr\local\mysql5\data\mybd\ найдем множество файлов. Среди этого изобили можно найти нужную статью и подправить ее?..

Андрей Морковин
Используйте phpMyAdmin, находите нужную статью через его интерфейс и правьте.

Влад
Вот там все базы и хранятся — C:\WebServers\usr\local\mysql5\data\

Андрей Морковин
Вот и славненько. Спасибо.

reidl
Спасибо. Хорошая статья , все «по полочкам».

Lardok
5) При желании можно указать в Атрибуты значение UNSIGNED. Это значение говорит, что в ячейках данного поля будут содержаться только положительные цифры.
А значение UNSIGNED ZEROFILL что значит?
Только положительные цифры + ноль?

Андрей Морковин
Я с такими извращениями не работал. Гуглите.

Lex
Статья хорошая. Только, по-моему, не хватает еще пару таблиц, что бы показать соединение между таблицами…А в принципе здорово расписано. Афтор Респект!!!

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

Андрей Морковин
Да, будет и практика, в свое время. Не все сразу.

SF22
Статья действительно хорошая!
Но может кто знает как исправить ситуацию?
Пользователя ROOT изменили на другое имя и поставили пароль, все одинаково в 3 позициях Хостов «127.0.0.1», «localhost», «production».
Затем было выбрано «Удалить всех пользователей и перезагрузить привилегии». Теперь выводит»В доступе отказано», а на самой страничке PhpMyAdmin — phpMyAdmin попытался соединиться с сервером MySQL, но сервер отверг соединение. Проверьте имя хоста, пользователя и пароль в config.inc.php.
Проверка данного файла ничего не дала, поскольку изначальный пользователь «root» там прописан в 3 местах без пароля!
Что делать и как исправить ситуацию?
—————-
Заранее спасибо!

Never Lex
Вообще статья золотая. Почему у меня не было такой под рукой, когда приходилось изучать всё самому? Андрей, нехорошо
Но разве DATA или TIME извращённые типы данных? Хоть я ими и не пользуюсь Пишу в таблицу дату в виде секунд от начала эпохи. Но многие используют. В разных CMS видел. Я так понимаю это оптимальней по затратам памяти, чем использовать для поля, в котором хранится дата или время, Varchar или Int.

Lary
Подскажите, или лучше покажите как соединять две или лучше несколько таблиц сразу. Спасибо!

Илья
не помешало бы расписать все типы в phpmyadmin…

Андрей Морковин
В интернете есть огромное количество материалов по типам данных mySQL, где они все подробно описаны. Воспользуйтесь поисковиком, найти их не составит труда.

MBHamster
Самая лучшая статья по phpMyAdmin-у. Спасибо автору!

Ольга
Статья толковая и очень понятная! Автору спасибо за усердие и за скрины картинок!

marusya
статья отличная, жаль не нашла ее раньше ,когда только начинала осваивать phpmyadmin
вопрос к продвинутым в этой теме: как поменять строки местами?? сортировка (select… order by) не подходит, так как у нее после №1 следует №100, а не №2, №3 и тп… пока заполняла бд по порядку, пробелм не было ,а потом решила внести строки вперемежку, в итоге мне результаты вперемежку и выдаются….

Слава
Порядок строк в результате определяется только запросом через order by. Если порядок зависит не от конкретного поля а хотите выставить сами, то можно добавить какое нибудь поле, которое отвечает за порядок (например level(int) ) и в него писать порядковый номер, выборка соответственно —
SELECT * FROM тра-та-та ORDER BY level
Правда если у вас опять возникнет необходимость вставить строку между имеющимися, то для начала надо выполнить запрос —
UPDATE `table_name` SET level = level+1 WHERE level >= «
а затем делайте INSERT для тех данных, которые хотите вставить

Maty
Ого))
Спасибо тебе большое,…в инете много всего, но все по кусочкам, да по кусочкам, а у тут… шикарно!!!

Indigo
Спасибо большое за статью!
У меня вопрос следующего характера:
Тут показано как войти в PHPMyAdmin через интерфейс Дэнвера (localhost/…), но как войти в PHPMyAdmin если ссылки на этот самый интерфейс Дэнвера утеряны? К примеру, запустить какой-либо файл из директории…

Sanyok
Здравствуйте, помогите пожалуйста с такой проблемой…
при запуске http://localhost/Tools/phpMyAdmin
у меня выходит страничка:
#1045 — Access denied for user ‘root’@’localhost’ (using password: NO)
что делать, чтобы phpmyadmin все же загрузился, заранее благодарен….

core
Была точно такая же проблема. На компьютере была еще одна не денверовская база данных и файлы конфига конфликтовали. Удалил файлы конфига той — все заработало ( у меня она была пустой — я ничего не терял).
Попробуйте возможно поможет.

Ya
у меня похожая ситуация
Error
MySQL said:
#2003 — The server is not responding
Connection for controluser as defined in your configuration failed.

Ya
разобралась! сменила InternetExpl на Хром. помогло

uppiter
Огромное спасибо автору за такую доступную для чайников статью.. Я раньше занимался дизайном и поэтому к программированию не имел никакого отношения, а вот теперь пришлось самому создавать сайт и естественно базу данных.. С помощью этой статьи разобрался как ее создавать, вот теперь пытаюсь разобраться как с ней работать.. Мне нужно создать базу пользователей. Где можно найти материалы по этому поводу??

Зверюга-ученик
Спасибо автору,все путем!мне нравится (о_о);

Валентин
Ну вообще то я не чайник, а только подставка под чайник.
Спасибо Андрею, теперь я могу тягаться и чайниками.
Вообщем благодаря статье, вырос. СПАСИБО.

Артём
Огромное спасибо!

Max
Первым делом хочу сердечно поблагодорить автора и пожелать удачки в его начинаниях!
Второе эт мой вопрос->3) Для поля первичного ключа нам необходимо изменить значение Дополнительно на auto_increment,Я никак не могу найти где этот параметр выставляется:(переклацал все ячейки но этот заколдованный параметр мне так и не явился:(Объясните пожалуйста кто понял или догнал где эт живет то…
А вообще теа-тет моё заветное желание так что у кого очень много терпения я бы хотел пообщаться (other_i skype) буду признателен и не только;-)

Skremet
Там параметр A_I -необходимо просто поставить галочку . Разные версии phpmyadmin .

Евгений
Спасибо большое. Очень доходчиво написано. Хотелось бы узнать, как в базу данных внести время и дату, например, отправки отзыва.
Спасибо.

wloolw
Может кто знает как эту самую таблицу базы данных на сайт выложить? в виде php скрипта.

Владимир
Вот тут видео по поводу скрипта и подключения и создания базы всё на php
***
надеюсь поможет

Татьяна
Здравствуйте. Подскажите, плиз, в чем дело. У меня страница админа на денвере на английском языке. По скриптам у всех вижу русский интерфейс, а у меня в выборке языков на странице стоит только английский. И не соображу, где поменять. Я в этом деле новичок, поэтому такая «мелочь» для меня это серьезная помеха в изучении web-дизайна.

Евгений
***
Там есть подробная инструкция.

Евгений
***
эта рабочая

Татьяна
Евгений, спасибо огромное. Все получилось.

Мастер
У меня аналогичный вопрос. Только указанный в ответах ссылки не работают. Могли бы продублировать.

Мастер
Спасибо!

Cerega
Молодец, так держать! Знаешь сам расскажи другому, я тебя полностью поддерживаю Коллега!

Олег Серов
Русский делаем так:
-Качаем файлик здесь (извиняюсь добавил обоину для веса)
-Файл russian-utf-8.inc копируем и вставляем в папку home\localhost\www\Tools\phpmyadmin\lang
-Перезапускаем denwer и в выпадающем меню выбираем русский

Алексей
Есть вопрос насчет русификации: она прошла успешно, но такого поля как дополнительно я не нашел, в каком поле тогда прописать счетчик для id?

Алексей
Я нашел такой флажок с заголовком A_I — это наверно и сеть auto_increment?

skremet
A_I — это и есть auto_increment

Дмитрий
Привет всем! Сайт ОЧЕНЬ познавательный, СПАСИБО автору! Помогите с проблемой! Когда зашел в phpMyAdmin, там было 2 пользователя «root» без паролей и выскакивало предупреждение. Создал нового пользователя со всеми правами и паролем, а пользователям «root» тоже сделал пароли. Теперь вообще зайти не могу: #1045 — Access denied for user ‘root’@’localhost’ (using password: NO) Хотел удалить Денвер и установить по новой, однако его нет в установках и удалении. Как быть? Подскажите!

Слава
Ну если хотите удалить denwer то достаточно удалить папку куда он установлен (как правило C:\WebServers). А по поводу учетки root, то вы должны в файле настроек phpMyAdmin — файл config.inc.php (путь к файлу как правило такой — C:\WebServers\home\localhost\www\Tools\phpmyadmin) изменить переменную
$cfg[‘Servers’][$i][‘password’] = ‘ваш пароль’;

Дмитрий
Спасибо Слава! Сделал как ты написал. Сейчас http://localhost./denwer/ открывается, а http://localhost/Tools/phpMyAdmin/ всё равно не хочет почти такая же ошибка #1045 — Access denied for user ‘root’@’localhost’ (using password: YES)

Дмитрий
О, разобрался, надо было «root» тоже поменять на имя пользователя.

Слава
ну да, там пользователь тоже прописывается. просто думал что ты будешь под рутом в phpmyadmin заходить))

Ирина
Спасибо большое за статью! Очень познавательная и расписано все просто прекрасно!
Но все равно возник вопрос, делала все пошагово так как вы описываете. Добавила данные в таблицу (вводила на русском), но когда нажала «Обзор» вместо русского текста увидела «??? ?????»….почему не отображается?(((

lula
Спасибо огромное!!! Классная статья)))))

NIkolai
Привет всем если кто может помогите.Я хочу создать таблицу в базе у меня не получается у мня нет выбора auto_increment и вобще у меня новая версия что ли поля совсем другие я хочу чтоб id поле само заполнялось.Помогите Спасибо

Вячеслав
Попробуйте создать таблицу запросом SQL, например так:
CREATE TABLE myTable (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
value INT NOT NULL
);
Если не хотите чтобы ID был первичным ключом, соответственно PRIMARY KEY нужно убрать))

Олег
У меня возникла проблема при установке CMS «concrete» имя пользователя и пароль ввёл правильно, как и создавал, но она требует указать сервер базы данных! Помогите!!!!! Где его найти???

Олег
Если ввожу имя БД которое указал при создании базы, то выдаёт следующие: Невозможно подключиться к базе данных.

Maks
localhost или 127.0.0.1, хотя с IP не помню будет работать или нет, уже давно CMS не пользовал, все больше спецефических заказов

Антон
Да должен вроде работать, пробуй лучше!

Ксения
Добрый день (вечер, ночь=))) . вопрос такой. возможно ли экспортировать данные из erwin в базу данных которая здесь???
и да статья++++

Anna
Подскажите, установила Денвер а именно phpMyAdmin не загружается, точнее появляется белая страница. Скайп отключила, перестартонула, ничего не помогает. что нужно сделать чтоб решить эту проблему?

Fanerkina
Споткнулись на самом простом. Нужно перенести базу с одной машины на другую. Выгрузили таблицу в файл *.sql.gz. Хотим загрузить в пустую базу на другой машине, а она ругает синтаксис и ей не нравится фраза type=myisam. Этот же файл на оф.сервер загружается без проблем. Чувствую, что на 2-ой машине что-то настройками. Помогите, хотя бы напишите, возможные ошибки, а то не знаем куда смотреть

Юлия
Добрый день. Очень нужна помощь. Заранее извините за вопрос, но я чайник. Необходимо соединиться с удаленной базой данных. Известно имя хоста, название базы данных, имя пользователя и пароль. Можно ли соединиться через PHP MyAdmin? Если можно, то как? Объясните, пожалуйста, на пальцах.

Действуй
Хорошая статья. Спасибо. Само то для новичка данного интерфейса. В разработке сайтов уже не первый год, но знания phpmyadmin — очень слабые. Могу экспортировать импортировать, поднимать локально, постоянно разрабатываю сайты с помощью денвера, то есть использовать могу, даже немного в таблицах ковыряюсь. Способен найти статью и поменять текст посредством phpmyadmin. Но на этом все. Как связывать таблицы между собой или через скрипт со страницей html, для меня неведомо. Заказы серьезные, задачи соответственно, а такой пробел. Подскажите хороший учебник, который поможет с азов, по ступенькам, разобраться в теме основательно.
P.S. Знания MySQL, тоже очень нужно, но знаний никаких

Ольга
Здравствуйте!!!Подскажи те мне пожалуйста…Я вот сделала базу данных сохранила ее в нужных папках,но она у меня не открывается и выдаёт ошибку Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:homelocalhostwwwprogaindex.php on line 17…. Скажите пожалуйста что мне сделать…Срочно надо курсовую сдавать…

 

⇓ 

Поделись ссылкой на Seoded.ru с друзьями, знакомыми и собеседниками в соцсетях и на форумах! А сам сайт добавь в закладки! Так победим.

Поделиться ссылкой на эту страницу в:

 

Полезные ссылки:

Семантическая вёрстка Тест на экстраверта

 


основан в 2008 г. © Все права на материалы сайта Seoded.ru принадлежат Алексею Вострову.
Копирование (полное или частичное) любых материалов сайта возможно только с разрешения автора и при указании ссылки на источник.
Ослушавшихся находит и забирает Бабайка!