Почему нет верхнего меню phpmyadmin
Перейти к содержимому

Почему нет верхнего меню phpmyadmin

  • автор:

Форум

Здравствуйте. Скачал и установил openserver, успешно сделал на нем сайт на wordpress. Но, сегодня запустив openserver и попытавшись открыть мой сайт получил ошибку «Ошибка установки соединения с базой данных». Захожу в меню openservera -> дополнительно а там нет phpmyadmin.
Понятия не имею куда оно могло деться. Никаких удаленный, перемещений не производил. Подскажите пожалуйста, возможно ли как-то восстановить/вернуть/призвать обратно базу данных? Ибо без нее сайт не запускаются.
В папке modules/system/html/openserver папка phpmyadmin присутствует. М.б. из нее как-то удастся базу вытянуть?

Повторюсь, мне нужна только база. Сам openserver я переустановил на другой диск и там с phpmyadmin все ок.

Belazar Сообщения: 7 Зарегистрирован: 05 май 2017, 12:06

Re: Исчез phpmyadmin

Если вбить в адресной строке браузер данный путь localhost/openserver/phpmyadmin то я могу попасть в phpmyadmin, но при попытке залогинится снова получаю ошибку. При вбивании в поле логина root а поле пароля оставляя пустым, получаю ошибку «Вход без пароля запрещен при конфигурации (смотрите AllowNoPassword)». При вбивании логина mysql пароля mysql получаю ошибку «#2002 Невозможно подключиться к серверу MySQL».
В настройках openservera, вкладка модули значене MySQL/MariaDB стоит «не использовать» сменить на что-то другое нельзя.
В файле phpmyadmin_config.inc «AllowNoPassword» = true;

DelphinPRO Сообщения: 857 Зарегистрирован: 01 фев 2012, 17:27 Откуда: Самара

Re: Исчез phpmyadmin

>> Никаких удаленный, перемещений не производил.

Возможно нечаянно, или еще как-то. Но файлы по любому были повреждены.

Шаг 4. Программируем верхнее меню на MODx

Как я и говорил ранее, мы не будем искать легких путей. Вообще говоря, верхнее меню можно сделать, используя такие известные сниппеты, как Ditto, Wayfinder. но ведь это не для нас ;).

Мы же сделаем все с нуля. Зачем нам (мне) это понадобилось, ведь есть уже готовые варианты? Потому что мне так больше нравится. Потому что я считаю подобный подход наиболее верным. Потому что, умея разрабатывать свое, мы без труда сможем разобраться в чужом коде, изменить, исправить ошибки или дополнить его необходимым в конкретном случае функционалом. Да и, в конце концов, сделать свое – это зачастую так приятно!

Дальнейшее повествование будет подразумевать, что читатель обладает минимальным знанием PHP программирования. Теоретически те люди, которые совсем не понимают код, смогут скопировать код и воспроизвести все те действия, о которых пойдет речь ниже. Однако, возможно, для них будет лучше использовать готовые сниппеты а-ля Ditto, поскольку они предоставляют кучу возможностей для внешнего конфигурирования, не влезая в основной код.

Я не хочу дискутировать на тему, что лучше для пользователя – брать готовое или разрабатывать свое. И в том, и в другом случае есть свои плюсы и минусы. Лично для меня плюсов во втором варианте больше. Также и каждый из читателей определится сам.

Итак, взглянем вновь на наш шаблон. Поскольку разных программных частей в нашем сайте довольно много, а начинать с чего-то нужно, поэтому запрограммируем…

Верхнее меню

Под термином «верхнее меню» я понимаю набор ссылок на страницы в верхней части сайта (см. рисунок ниже):

Заранее обращу внимание, что активная ссылка в этом меню выделяется на белом фоне оранжевым цветом. В данном случае на рисунке выделена закладка «Блог».

Первый пример создания сниппета я опишу очень подробно, в дальнейшем я буду останавливаться в основном на наиболее существенных деталях.

Сравним с нашим деревом сайта в системе управления, которое мы построили в предыдущей статье:

Как видно из рисунка, в дереве сайта выделяются четыре документа (а именно «Блог», «Об авторах», «Фотографии» и «Обратная связь»), которые и создадут впоследствии ссылки в верхнем меню.

Также напомню, мы заранее скрыли документы, которые не хотим показывать в меню. Например, в настройках документа с названием «Поиск по сайту» убрали флажок «Показывать в меню», а оставшиеся два документа «Ссылки» и «Категории» мы скрыли на сайте, убрав флажок в настройках документа «Публиковать» (закладка «Настройки страницы» в настройках документа).

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

Перейдем теперь к вопросу отображения наших действий непосредственно на сайте.

Большую часть программ на сайте выполняют т.н. «сниппеты», т.е. отдельные куски кода (их также можно понимать как отдельные функции или подпрограммы) на PHP. Поэтому, чтобы реализовать в MODx вывод верхнего меню, мы также должны создать новый сниппет, запрограммировать его и добавить вызов этого сниппета в шаблоне в нужном месте.

Зайдем в систему управления, откроем закладку «Ресурсы» -> «Управление ресурсами» -> закладка «Сниппеты» и нажмем на ссылку «Новый сниппет». В поле «Название сниппета» впишем «TopMenu» без кавычек и пока просто сохраним пустой сниппет без кода. После сохранения мы увидим название нашего сниппета на закладке «Сниппеты».

Напомню, что в нашем шаблоне верхнее меню мы вынесли в чанк «TOPMENU». Переключимся на закладку «Чанки» и откроем чанк «TOPMENU». В содержимом этого чанка мы увидим следующий код:

Этот код как раз и создает наше меню. Закомментируем его и добавим вызов сниппета «TopMenu» в чанке:

Здесь снова придется немного отвлечься, чтобы пояснить смысл этой конструкции [[TopMenu]]. Дело в том, что именно с помощью конструкций вида [[SnippetName]] или [!SnippetName!] мы можем делать вызовы сниппетов в любом месте своих шаблонов, чанков и даже просто на любой отдельной странице сайта.

При этом конструкция [[SnippetName]] обозначает вызов кэшируемого сниппета, т.е. вызов динамической подпрограммы, результат выполнения которой будет подсчитан и выполнен один раз, а впоследствии при загрузке страницы, где вызывается данный сниппет, результат будет неизменным, т.к. повторный вызов сниппета уже не происходит. Таким образом, мы экономим ресурсы своего веб-сервера (а это всегда имеет очень важное значение при высокой посещаемости ресурса).

Однако существуют ситуации, когда необходимо все время выполнять код сниппета заново и кэшировать результаты нельзя. В таких случаях используется конструкция [!SnippetName!], которая всегда заставит сниппет выполняться без кэширования. По аналогии, данная конструкция называется вызовом некэшируемого сниппета.

Итак, сохраним чанк «TOPMENU» и обновим страницу сайта. Хм, как ни странно, но верхнее меню исчезло. Но так ли это удивительно на самом деле? Закомментировав HTML код меню в чанке, мы скрыли его отображение в браузере (проверьте это, взглянув в исходный код HTML страницы). А наш сниппет «TopMenu» ничего не делает, поскольку в него еще ничего не добавлено. Исправим же этот недостаток :).

Перейдем снова на закладку «Сниппеты», откроем созданный сниппет «TopMenu» и попробуем протестировать его возможности… Терпение, мои продвинутые читатели, не всем знакомы эти детали.

Для начала напишем простейший код (обычный PHP код):

Перед сохранением выберем «Продолжить редактирование», т.к. нам придется еще не раз изменить содержимое нашего сниппета, и после этого сохраним сниппет. Обновим страницу сайта и увидим на месте верхнего меню… ну, по правде говоря, на первый взгляд мы не увидим почти никаких изменений, кроме слегка расширившегося синего фона меню. Нажмем «CRTL+A», чтобы выделить весь текст на странице сайта, и увидим, что все-таки наш сниппет вывел на месте меню текст «Testing…», просто цвет текста совпадает с цветом фона.

Изменим код сниппета на следующий:

Теперь мы ясно видим, что сниппет наш работает и даже (!) выводит некоторый текст. Что-ж, это прекрасно, но маловато для нашей задачи, поскольку мы должны добиться, чтобы наш сниппет выводил ссылки из системы управления, причем в точно таком же HTML коде, который мы закомментировали в чанке «TOPMENU».

И снова небольшое отвлечение.

Вся система взаимосвязей документов в MODx построена по принципу: каждый «родительский документ» содержит от нуля до множества «дочерних документов» («parent» –> «childs»).

Каждый документ в базе данных MODx имеет свой уникальный идентификатор «ID» – это то число, которое мы видим в скобках в дереве сайта рядом с каждым из документов.

Кстати говоря, этот уникальный идентификатор несет лишь одно единственное значение – он однозначно определяет конкретный документ в системе управления и ничего более! Специально делаю акцент на этом факте, поскольку встречал неоднократные попытки изменить эти идентификаторы в самых разнообразных целях. Запомнить нужно сразу, что это просто бессмысленно, поэтому не пытайтесь менять эти цифры. На них вообще не стоит обращать много внимания, обычно эти цифры используются просто для генерации ссылок на определенные документы.

В базе данных MODx для каждого документа также создано специальное поле «parent». Значением данного поля является число, обозначающее либо уникальный идентификатор родительского документа, либо, если документ находится в корне дерева, нуль. Таким образом, всегда можно однозначно определить, какой именно документ является для данного родительским.

Чтобы наглядно увидеть то, о чем мы сейчас говорили, откройте phpMyAdmin, выберите свою базу данных и найдите таблицу site_content, где – Ваш префикс, который Вы ввели при установке. Вы увидите множество полей, в которых сохраняются определенные данные документов, в том числе «ID» – уникальный идентификатор, «parent» – номер родительского документа, «pagetitle» – заголовок страницы и другие.

Итак, используя данную информацию о принципе хранения и связи документов в MODx, мы можем понять, как получить нужные данные для вывода ссылок верхнего меню: нам нужно найти в базе данных все документы, которые находятся в корне дерева сайта, т.е. имеют в поле «parent» значение нуль.

Используя SQL язык, подобный запрос описывается как-то так (Вы можете попробовать ввести данный запрос в поле ввода SQL в phpMyAdmin, предварительно заменив «modx_» на свой префикс):

SELECT *
FROM `modx_site_content`
WHERE `parent` = 0;

Однако такой запрос возвратит нам абсолютно все документы из корня сайта, что не совсем правильно, исходя из основной задачи – вывести ссылки только на те документы, которые имеют:

  • опубликованный статус (в БД за этот пункт отвечает поле «published», где значение = 1 обозначает, что документ опубликован, а значение = 0 — неопубликован).
  • неудаленные (поле «deleted», где 1 — удален, а 0 – не удален),
  • и у которых установлена опция «Показывать в меню» (поле «hidemenu», где 1 – скрывать, а 0 – показывать в меню).

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

Ну, с точки зрения SQL, это совсем несложная задача и решается она так:

SELECT *
FROM `modx_site_content`
WHERE `published` = 1
AND `parent` = 0
AND `deleted` = 0
AND `hidemenu` = 0
ORDER BY `menuindex` ASC;

Теоретически все SQL запросы можно выполнять в сниппетах напрямую с помощью PHP скриптов, подключая каждый раз базу данных заново и делая множество других рутинных операций, повторяя их раз за разом… Но, согласитесь, это нивелировало бы смысл использования фреймворка, коим безусловно является наша система управления, т.к. MODx, помимо прочих своих достоинств, предоставляет готовый набор средств программного интерфейса (API, Application Programming Interface). API – это программные функции, которые унифицируют и облегчают многие процессы обработки данных.

Используем одну из упомянутых функций API «getDocumentChildren» в нашем сниппете. Функция «getDocumentChildren» получает в виде параметров следующие данные:

  • $id – номер родительского документа,
  • $active – выбирать только опубликованные или неопубликованные документы (1 или 0 соответственно),
  • $deleted — выбирать только удаленные или неудаленные документы (1 | 0),
  • $fields – поля, которые выбираются из БД,
  • $where – специальные условия, т.е. условие WHERE в SQL запросе,
  • $sort – поле, по которому должна проводиться сортировка результатов
  • $direction – направление сортировки, может принимать значения ASC или DESC, т.е. сортировка от меньшего к большему значению или наоборот
  • $limit – ограничение запроса, т.е. условие LIMIT в SQL запросе

$results = $modx->getDocumentChildren(
$id = 0,
$active = 1,
$deleted = 0,
‘id, pagetitle, published, menuindex, deleted, hidemenu, menutitle’,
$where = ‘hidemenu = 0’,
$sort=’menuindex’,
$dir=’ASC’,
$limit
);

print(«»);

foreach($results as $key => $value) print_r($value);
>

Сохраните сниппет и обновите страницу. В результате выполнения обновленного сниппета «TopMenu» Вы увидите список из массивов и их значений, отсортированный по значениям поля «menuindex» от меньшего значения к большему. Попробуйте поменять параметр $dir=’ASC’ на $dir=’DESC’ – в результате массивы перестроятся и первым документом будет выведен документ с наибольшим значением поля «menuindex».

Программистам со стажем, наверное, понятно, что полученный результат уже дает все, что нужно, чтобы построить готовое меню со ссылками. Ну, почти все. В любом случае я таки продолжу: перепишем код PHP, чтобы максимально приблизиться к желаемому результату.

$results = $modx->getDocumentChildren(
$id = 0,
$active = 1,
$deleted = 0,
‘id, pagetitle, published, menuindex, deleted, hidemenu, menutitle’,
$where = ‘hidemenu = 0’,
$sort=’menuindex’,
$dir=’ASC’,
$limit
);

Детально код разбирать не будем, поскольку это самый обычный PHP код, не более того. Если кому-то не понятен смысл каких-либо конструкций, прошу в комментарии, а лучше – на соответствующие форумы поддержки.

Сохраним новый код сниппета и обновим страницу. В результате выполнения кода мы увидим практически то, что и хотели получить:

Т.е. это уже автоматически сгенерированные ссылки, структура которых полностью повторяет структуру документов в дереве MODx. Чтобы проверить это, попробуйте создать какой-нибудь тестовый документ в корне сайта и обновите страницу.

Однако это еще не все. Многие уже наверняка заметили, что ссылки есть, но ссылок нет. Парадокс :). Я имею ввиду, что названия документов в меню выводятся, однако ссылки на них не работают. Это логично, поскольку пока в коде ссылок выводится «#» вместо реальных путей.

Чтобы решить эту задачку, необходимо узнать еще об одной крайне полезной возможности MODx: адрес любой внутренней страницы сайта можно получить с помощью следующей конструкции [~id~], где id – это уникальный номер нужного документа, т.е. тот самый номер, указанный в скобках рядом с названием каждого документа в дереве сайта. Таким образом, добавив такую конструкцию [~1~] в шаблоне/чанке/содержимом страницы,

  • если у нас включены дружественные ссылки в настройках MODx, то при выводе мы получим:
    • index – алиас документа «Блог», если мы ввели «index» как алиас документа, либо
    • 1.html, если мы не вводили ничего в поле «Псевдоним» для документа «Блог»

    Перепишем сниппет, используя эту информацию:

    $results = $modx->getDocumentChildren(
    $id = 0,
    $active = 1,
    $deleted = 0,
    ‘id, pagetitle, published, menuindex, deleted, hidemenu, menutitle’,
    $where = ‘hidemenu = 0’,
    $sort=’menuindex’,
    $dir=’ASC’,
    $limit
    );

    Таким образом, мы изменили # на [~».$value[«id»].»~], т.е. фактически для каждого документа из массива подставляется его уникальный ID внутри конструкции [~id~]. В результате мы получаем меню с работающими ссылками.

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

    Чтобы добиться этого, мы снова приоткроем секреты MODx CMS :). В API скрыта функция $modx->documentIdentifier, которая возвращает значение уникального идентификатора текущей страницы. Она нам понадобится для определения активной страницы и выделения ее в меню:

    $results = $modx-> getDocumentChildren (
    $id = 0,
    $active = 1,
    $deleted = 0,
    ‘id, pagetitle, published, menuindex, deleted, hidemenu, menutitle’,
    $where = ‘hidemenu = 0’,
    $sort=’menuindex’,
    $dir=’ASC’,
    $limit
    );

    Ну как, получилось? Получилось!

    Но Вы же не подумали, что на этом все и закончится? И правильно. Мы ставим себе самую высокую планку, мы хотим задействовать максимум возможностей MODx. А поэтому еще одна небольшая деталь, которую мы упустили.

    Посмотрим внимательно на название полей, которые мы запрашиваем с помощью функции getDocumentChildren: ‘id, pagetitle, published, menuindex, deleted, hidemenu, menutitle’. Среди них есть такое поле, как «menutitle». Как следует из названия, в данном поле может храниться заголовок меню. В системе управления также имеется поле ввода «Пункт меню». Это поле заполнять необязательно. Однако логика в том, что если это поле заполнено, то мы должны заменить текст ссылки в меню на введенный пользователем. Ну, так сделаем это:

    $results = $modx->getDocumentChildren(
    $id = 0, // ID родительского документа
    $active = 1, // Выбираем только опубликованные документы
    $deleted = 0, // Выбираем только неудаленные документы
    ‘id, pagetitle, published, menuindex, deleted, hidemenu, menutitle’, // Выбираем поля из БД
    $where = ‘hidemenu = 0’, // Выбираем только те документы, которые нужно публиковать в меню
    $sort=’menuindex’, // Сортируем документы по полю menuindex
    $dir=’ASC’, // Сортируем документы по возрастанию
    $limit = » // Ограничения не устанавливаем (параметр LIMIT в SQL запросе)
    );

    $cid = $modx->documentIdentifier; //получаем ID текущей страницы

    // Возвращаем результат работы сниппета
    return $output;

    Попробуйте теперь ввести какой-нибудь текст в поле ввода «Пункт меню» любого документа. Все работает? Замечательно!

    P.S.: Возможно, некоторые читатели будут удивлены, что при переходе по ссылкам нашего меню содержимое страниц не изменяется, хотя вроде бы, судя по пути в адресе браузера, мы переходим на новые страницы… Поверьте, это абсолютно нормально, т.к. абсолютно все страницы на текущий момент используют один и тот же шаблон. В этом шаблоне фактически мы пока сделали динамическим только верхнее меню, все остальные детали остаются неизменными. Мы обязательно займемся этим позже, а пока – без паники ;).

    Заключение:

    Итак, еще одна статья подошла к своему логическому завершению.

    • Мы попробовали разобраться в назначении некоторых полей ввода документов MODx и рассмотрели хранение этой информации в базе данных;
    • Узнали о новых специальных конструкциях MODx: [[SnippetName]], [!SnippetName!], [~id~];
    • Узнали о наличии специального API и воспользовались некоторыми функциями API;
    • И на основе этих знаний создали свой новый сниппет в MODx!

    PhpMyAdmin — что это такое, где можно его скачать, как установить, настроить и использовать

    Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня хочу поговорить про скрипт (программу) PhpMyAdmin, который помогает в удобной графической форме (без ввода SQL запросов) управлять базами данных (что это?) на сервере MySQL. В зависимости от уровня доступа пользователя, с помощью этого серверного скрипта можно управлять как отдельными БД, так и целым сервером MySQL.

    Углубляться я не планирую, т.к. во-первых, попросту не знаком с полным функционалом этой бесплатной утилиты, ну, а во-вторых, оно вам вряд ли понадобится при работе со своим сайтом.

    Коллаж из логотипов PhpMyAdmin

    Однако, программа PhpMyAdmin для меня стала таким же обыденным и повседневным инструментом, как, например, редактор Notepad++, о котором читайте тут. Правда, я использую ее хоть и постоянно, но, как правило, для очень ограниченного количества операций. В основном, когда хочу создать бэкап базы данных сайта, оптимизировать таблицы БД, ну, и в редких случаях она помогает мне внести изменения сразу во все тексты статей, что существенно экономит время.

    Установка и настройка ПхпМайАдмин

    Само собой разумеется, что возможностей у PhpMyAdmin гораздо больше, но мне этого вполне хватает. Хотя, когда я изучал видеокурс Попова по PHP и MySQL, то использовал эту программу для создания своих собственных баз данных и для создания нужных таблиц с нужными полями в этих БД.

    Вообще, Евгений в этом видеокурсе рассказывает про написание своей собственной CMS (не такой, конечно же, сложной и навороченной, как, например, CMS Joomla, но все же имеющей админку) с помощью PHP и языка запросов MySQL. Попутно вы, естественно, изучаете основы этих языков, что будет не лишним и пригодится при работе с собственным сайтом. Курс очень большой и объемный, но, по-моему, полезный, особенно для новичков в этом деле.

    PhpMyAdmin будет установлен на подавляющем большинстве хостингов (во всяком случае рунета) для предоставления вебмастерам возможности работы со своими базами данных. Создаются БД, как правило, средствами самой панели управления хостингом (одна из самых распространенных панелей — cPanel описана тут), а вот работа с уже созданной базой данных MySQL практически у всех хостеров отдана на откуп ПхпМайАдмин и это правильно, ибо он очень хорошо для этого подходит, да и сам скрипт многим хорошо знаком.

    Т.о. сама по себе установка и настройка этой программы вам, скорее всего, и не понадобится, но я все же, на всякий случай, коротенько расскажу, где можно скачать скрипт и как осуществляется его установка и настройка. Кстати, эту программу можно использовать не только на сервере хостинга, но и на локальном сервере с установленным MySQL. В состав localhost Денвер скрипт уже входит по умолчанию.

    Вообще, мне трудно представить ситуацию, когда вам может понадобиться самостоятельная установка и настройка PhpMyAdmin, хотя у меня такая ситуация возникала. Полтора года назад блог KtoNaNovenkogo.ru размещался у хостера не требующего оплаты, где поначалу не был установлен этот скрипт и мне пришлось его самостоятельно скачивать и устанавливать, хотя сложного в этом ничего нет.

    Скачать дистрибутив PhpMyAdmin последней версии

    Скачать PhpMyAdmin с поддержкой русского языка можно с этой страницы, хотя можете оттуда же скачать вариант скрипта с поддержкой только английского языка. Последняя актуальная версия имеет номер 4.0.5 и она будет совместима с PHP 5 и MySQL 5.

    Версия 2.11.11.3 совместима с более старыми версиями PHP 4+ и MySQL 3+. Скачав архив программы, вам нужно будет его распаковать и подключиться с своему сайту по FTP, например, с помощью бесплатной программы FileZilla.

    Создайте в корневой папке (обычно это либо PUBLIC_HTML, либо HTDOCS) своего сайта каталог с любым понятным вам названием, например, «myadmin» (если в названии каталога вы будете использовать заглавные буквы, то при обращении к нему из адресной строки браузера вам придется учитывать регистр символов).

    Ну, а теперь через FileZilla скопируйте в созданный каталог содержимое архива со скриптом (всю кучу папок и файлов из состава дистрибутива можно выделить сразу, нажав Ctrl+A на клавиатуре) и нажмите на пункт «Закачать на сервер», выбрав его из контекстного меню:

    Заливаем PhpMyAdmin на сервер с сайтом

    По окончании копирования файлов (это есть установка PhpMyAdmin) вам нужно произвести предварительную настройку этого скрипта. Самый простой способ настройки состоит в том, чтобы переименовать файл «config.sample.inc.php» (из созданной вами папки «myadmin») в «config.inc.php».

    После этого откройте полученный файл «config.inc.php» на редактирование и приступайте к настройкам, которые заключаются в задании идентификатора, помогающего зашифровать ваш пароль доступа к ПхпМайАдмин в cookie браузера. Для этого в строку:

    $cfg['blowfish_secret'] = '';

    введите не менее 10 знаков между одинарными кавычками, например, так:

    $cfg['blowfish_secret'] = 'sjkdflscokdkld';

    Запоминать введенную последовательность вам не нужно. Собственно, предварительную настройку PhpMyAdmin можно считать завершенной. Хотя, вы можете еще изменить используемый по умолчанию способ входа, который задается в строке:

    $cfg['Servers'][$i]['auth_type'] = 'cookie';

    В этом случае придется каждый раз для входа вводить логин и пароль, которые можно будет запомнить в cookie средствами браузера. Но можно заменить эту строку на такой код:

    $cfg["Servers"][$i]["auth_type"] = "config"; $cfg["Servers"][$i]["user"] = "vash_logint"; $cfg["Servers"][$i]["password"] = "parol_odnako";';

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

    Экспорт и импорт базы данных через PhpMyAdmin

    После того, как закончите настройку, можно будет попробовать в него войти. Для этого вам нужно в адресной строке браузера набрать путь до той папки, в которую установили файлы дистрибутива PhpMyAdmin. Т.е., например, для моего блога этот адрес выглядел бы так:

    https://ktonanovenkogo.ru/myadmin/index.php

    Если скрипт вы установили и настроили корректно, то появится окно, предлагающее ввести логин и пароль для входа в программу:

    Вход в PhpMyAdmin

    Для входа вы можете использовать имя пользователя и пароль, которые вам дал ваш хостер. В случае установки PhpMyAdmin на свой сервер, логин будет по умолчанию «root», а пароль тот, который вы указали при установке MySQL. В результате попадете на главную страницу скрипта:

    Главная страница ПхпМайАдмин

    Иконка домика вам всегда позволит вернуться на начальную страницу программы. Давайте рассмотрим те действия, которые чаще всего совершают пользователи — создание и восстановление из бэкапа базы данных. Вообще, конечно же, создать бэкап БД можно многими способами, но резервные копии, сделанные через Php My Admin, меня еще ни разу не подводили.

    Есть скрипты и расширения для различных CMS, которые могут создавать бэкапы баз данных по расписанию и вообще без вашего участия, но я лично предпочитаю пользоваться сделанными вручную резервными копиями (мне так спокойнее). В базе данных различных CMS содержится самое ценное из того, что есть у вас на сайте — написанные вами статьи, потеря которых будет невосполнима.

    В левой колонке интерфейса ПхпМайАдмин выберите ту базу данных, бэкап которой хотите сделать, после чего перейдите на вкладку «Экспорт» из верхнего горизонтального меню основного окна программы:

    Создание бекапа базы данных на вкладке Экспорт

    Эта программа умеет налету архивировать резервную копию с базой, поэтому в самом низу открывшейся страницы имеет смысл поставить галочку в положение «gzip», сократив тем самым объем и время закачки. В колонке «Экспорт», по умолчанию, будут выделены все таблицы из нужной вам базы данных и выбран формат ее сохранения как «SQL».

    Если захотите скопировать лишь некоторые таблицы, то выделите только их. Для создания бэкапа в PhpMyAdmin достаточно лишь нажать на кнопку «ок» и выбрать место на своем компьютере для хранения архива. Собственно, все — быстро и просто. Единственное, что нужно — не забывать повторять эту процедуру после добавления новых материалов на сайт.

    Теперь давайте мысленно перенесемся к тому горестному моменту, когда вам может понадобиться восстановить базу данных из заранее созданного бэкапа. Сначала лучше удалить все имеющиеся таблицы в восстанавливаемой БД. Для этого нужно щелкнуть по ее названию в левой колонке программы и под списком всех таблиц БД нажать на «Отметить все», а из выпадающего списка выбрать «Удалить»:

    Как удалить все таблица базы данных

    После этого вы переходите из верхнего меню основного окна PhpMyAdmin на вкладку «Импорт», щелкаете по кнопке «Выберите файл» и начинаете рыскать по своему компьютеру в поисках последнего актуальной резервной копии нужной вам базы данных.

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

    Создание новой базы данных и пользователя в PhpMyAdmin

    Если вы создаете сайт на своем сервере (локальном, виртуальном или выделенном), то вам может понадобиться создать новую базу данных, что с легкость можно сделать в этой программе. Для этого на начальной странице вам нужно будет всего лишь ввести ее название в поле «Создать новую БД» и нажать кнопку создать. Все, новая база данных в PhpMyAdmin создана.

    Теперь нам нужно будет еще создать пользователя для этой БД — на начальной странице перейти по ссылке «Привилегии»:

    Переходим на вкладку Привелегии для создания пользователя баз данных в PhpMyAdmin

    А в открывшемся окне вам необходимо перейти по ссылке «Добавить нового пользователя»:

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

    Далее в русском phpMyAdmin придется заполнить ряд полей:

    1. Имя пользователя — вводим желаемое имя на латинице (оно будет логином при входе)
    2. Хост — обычно вводят localhost
    3. Пароль и Подтверждение — придумываете пароль посложнее, чтобы враг не догадался

    В области «Глобальные привилегии» выбираете те возможности, которые будут предоставлены создаваемому вами пользователю. Для локального сервера лучше всего будет нажать по ссылке «Отметить все»:

    Глобальные привилегии для нового пользователя

    Ну вот, нового пользователя в ПхпМайАдмин мы тоже с успехом создали.

    Другие способы использования ПхпМайАдмин

    У меня как-то был случай, когда после переноса моего сайта на другой сервер он стал выдавать ошибку базы данных. Открыв программу я увидел сообщение, что одна из таблиц моей БД повреждена.

    Но данную проблему получилось довольно-таки просто и быстро решить средствами самого же PhpMyAdmin. Для этого я отметил галочкой поврежденную таблицу и выбрал из расположенного внизу выпадающего списка вариант «Восстановить таблицу».

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

    Как в PhpMyAdmin оптимизировать таблицы базы данных

    Ну, а еще я иногда пользуюсь такой возможностью, как выполнение SQL запросов к определенным таблицам базы данных. Это очень удобно, когда вам нужно что-нибудь поменять в текстах всех статей на вашем сайте. Если количество статей перевалило далеко за сотню, то вручную это проделать просто не представляется возможным. Тоже самое можно сделать, установив на свою CMS необходимое расширение, но можно обойтись и одним лишь PhpMyAdmin.

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

    В WordPress статьи хранятся в таблице под названием «wp_posts», поэтому для внесения изменений в тексты всех статей вам нужно в левой колонке окна программы щелкнуть по названию этой таблицы, а в центральном окне перейти на вкладку «Обзор» из верхнего меню:

    Выбираем таблицу, с которой будем работать

    На открывшейся странице нажмите на ссылку «Изменить», расположенную в правой верхней части центрального окна:

    Переходим в окно, где можно будет массово внести изменения в базу данных

    Откроется отдельное окно, в котором вам и нужно будет набрать текст SQL запроса, вносящего изменения во все статьи сайта. Этот текст будет выглядеть примерно так:

    UPDATE wp_posts SET post_content =REPLACE(post_content, 'что_нужно_изменить', 'на_что_нужно_изменить');

    Я менял последний раз уровни заголовков внутри статей (убирал заголовки уровня h4, заменяя их на h3) и последовательно выполнял через PhpMyAdmin такие SQL запросы:

    UPDATE wp_posts SET post_content =REPLACE(post_content, '', '');
    UPDATE wp_posts SET post_content =REPLACE(post_content, '', ''););

    Справа от области ввода SQL запроса в окне ПхпМайАдмин можно будет выбрать только те поля, в которых вы хотите произвести изменения. Тексты статей в WordPress записываются в поле «post_content»:

    Ввод SQL запроса в PhpMyAdmin

    Есть еще много способов использования этой программы для выполнения насущных операций с базой данных.

    Если вы знаете еще какие-нибудь полезные возможности ПхпМайАдмин, то киньте ссылочку в комментариях, ну, или объясните суть дела на словах.

    Если бэкапа у вас под рукой не оказалось, да и хостер ничем помочь не может, то останется только начинать все заново. А это ведь просто ужасно. Однако, небольшой шанс восстановления все же существует и он подробно описан в статье про архив сайтов из интернета.

    Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

    • �� Binance — лучшая криптобиржа в мире
    • �� Эксмо — лучшая криптобиржа в рунете
    • ⛏ ВоркЗилла — удаленная работа для всех
    • �� Etxt — платят за написание текстов
    • ✍ Кьюкоммент — биржа комментариев
    • �� 60сек — выгодный обмен криптовалют
    • �� Вктаргет — заработок в соцсетях
    • �� Смотреть все.

    Комментарии и отзывы (14)

    не совсем неправильно. лучше ставить HTTP или cookie.

    Что то я несовсем понел для чего он нужен наверное этот скрипт не для чайников ��

    Спасибо, как всегда все понятно. Не знала, что у PhpMyAdmin есть другие способы использования, кроме создания базы данных ))

    Василий: Я тоже не совсем все поняла, но думаю раз такие статьи читаем, то уже не совсем чайники, растем помаленьку, со времене будем разбираться.

    Когда будете переносить свой сайт 1 что необходимо это как раз экспортировать свою бд

    Очень полезный скрипт для программистов

    Все уроки в разделе «Глобальные привилегии» предлагают отмечать Все. Чтобы не было проблем с доступом. Так эти доступа с локального варианта переносятся и в инет. А вот правильно ли это? Надо бы акцентировать внимaние на разграничении прав между бд и пользователями.

    А не подскажет ли кто ответ на следующий вопрос?

    Установил Джумлу по умолчанию в базу MySQL.

    Теперь терзаюсь сомнениями — наверное надо было в MySQLi.

    Есть ли способ преобразовать одно в другое, или надо переустанавливать движок?

    у меня выдаёт вот такую ошибку при запуске index.php:

    Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP.

    Мне кажется, или вы опечатку допустили??

    Пожалуйста помогите разобраться. Переустановила джентльменский набор и закачала БД с хостинга, и файлы через Filezila. В результате этого возникли проблемы: в Dreamweaver местами вижу кодировку вместо русских слов, в phpMyAdmin тоже. Там я нашла как изменить кодировку, а вот как поменять тип не нашла. версия 3.5.1 вроде. Что делать? Где в настройках сменить тип таблиц? И в ней ли это дело? Для наглядности выслала скриншоты вам на почту.

    Последнее время я использую Valentina Studio для работы с MySQL. Очень хороший и бесплатный инструмент, рекомендую посмотреть.http://www.valentina-db.com/en/valentina-studio-overview

    Я сделала изменения в модулях меню и мне необходимо восстановить прежние модули. К сожалению , я не сделала бэкап. Как можно без бекапа восстановить модули меню?

    Здравствуйте, на компьютере был phpMyAdmin, БД на локальном сервере, комп «полетел». Как восстановить доступ к БД через другой компьютер?

    Неважно кто

    Так а как мне подключить phpmyadmin к моему сайту на реуальном хостинге?

    Ваш комментарий или отзыв

    Главное меню phpMyAdmin

    О том, как открыть phpMyAdmin и как выглядит его Главная страница, понятно. В этой статье двинемся дальше и рассмотрим Главное меню phpMyAdmin: из каких пунктов оно состоит и какие особенности работы с ним имеются. Главное меню — это всегда важно, так как оно располагается обычно на всех страницах будь то сайт, мобильное приложение или, как в случае с phpMyAdmin, интерфейс программы работы с данным сервера (в нашем случае с базами данных).

    Внешний вид Главного меню phpMyAdmin

    Как было отмечено в предыдущей статье Главное меню phpMyAdmin располагается в верхней части правого (основного) фрейма окна интерфейса программы. Выглядит оно следующим образом:

    Внешний вид Главного меню phpMyAdmin

    Как можно заметить на картинке выше, Главное меню phpMyAdmin состоит из достаточно большого количества пунктов. Поэтому на мониторах с недостаточной шириной экрана оно обрезается. Для того, чтобы раскрыть его полностью, нужно нажать на пункт «Ещё», который образуется, если всё меню не влазит в ширину экрана. Про это свойство Главного меню phpMyAdmin стоит помнить для того, чтобы всегда находить те инструменты, которые могут быть спрятаны за этой ссылкой «Ещё».

    Пункты Главного меню phpMyAdmin

    Рассмотрим каждый пункт Главного меню phpMyAdmin и что они обозначают:

    • Пункт «Базы данных» — открывает список всех баз данных, доступных для текущего пользователя phpMyAdmin и ссылки на них.
    • Пункт «SQL» — открывает окно в котором можно выполнить SQL-запрос(ы) на сервере «MySQL».
    • Пункт «Состояние» — выводит статистику работы MySQL-сервера и инструменты для работы с ним.
    • Пункт «Пользователи» — открывает список всех пользователей баз данных, доступных для текущего пользователя phpMyAdmin, ссылки на них и другие инструменты для работы с пользователями баз данных на сервере.
    • Пункт «Экспорт» — открывает окно для экспорта баз данных с текущего сервера и его настройками.
    • Пункт «Импорт» — открывает окно для импорта баз данных на текущий сервер и его настройками.
    • Пункт «Настройки» — большой пункт меню, который содержит многочисленные настройки программы phpMyAdmin.
    • Пункт «Репликация» — открывает окно для работы по репликации сервера баз данных и настройками репликации.
    • Пункт «Переменные» — открывает окно со списком серверных переменных и возможностью их настройки.
    • Пункт «Кодировки» — справочная информация в виде списка доступных кодировок таблиц баз данных.
    • Пункт «Типы таблиц» — справочная информация по типам таблиц баз данных MySQL и их характеристиками

    Заберите ссылку на статью к себе, чтобы потом легко её найти!
    Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
    Не надо себя сдерживать! 😉

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *