Запуск базы данных mysql

Здравствуйте, уважаемые читатель блога LifeExample, настало время изменить привычному phpMyAdmin, с более брутальным инструментом для управления базой данных. Сегодня мы пощупаем MySQL консоль и научимся выполнять стандартные команды, а также команды по восстановлению баз данных. MySQL консоль – это стандартная СУБД (Система управления базами данных) для MySQL, поставляемая вместе с продуктом.

Когда может пригодиться MySQL консоль

С точки зрения начинающего web-программиста, phpMyAdmin выполняет все необходимые для нормальной работы функции. Представьте, что вы не только web-программист, но и, от части, системный администратор, который обязан восстановить БД после сбоя.

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

Как запустить MySQL консоль

Запустить консоль можно через проводник windows, найдя в папке с MySQL утилиту mysql.exe . Обычно она находится по адресу: [путь до папки]mysqlinmysql.exe . В случае использования денвера, MySQL консоль, стоит искать в этом направлении:
C:WebServerusrlocalmysqlinmysql.exe

Кроме проводника windows, можно использовать командную строку:

  • Запустите cmd.exe
  • Напишите полный путь до файла mysql.exe
  • Нажмите enter

Вы должны наблюдать такую картину:

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

C:WebServerusrlocalmysql-5.1inmysql.exe –u root –p

Если все сделано верно, вы получите сообщение "Добро пожаловать в MySQL консоль…"

Убедиться в том, что вы успешно подключены к серверу БД, можно введя команду show databases; . В результате ее выполнения будет выведен перечень присутствующих баз данных на сервере.

Попробуем выбрать одну из БД и посмотреть список таблиц в ней:

use test; show tables;

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

В качестве эксперимента вы можете попробовать создать базу test, с помощью команды:

create database test;

На что получите сообщение: "QUERY OK, 1 row affected", гласящие о успешном создании базы данных с именем test .

Теперь давайте создадим в базе test таблицу order .

create table test (`id` int(11),`content` varchar(255));

И вновь выполним команду show tables; , которая покажет, что таблица действительно создана, и доступна для работы с ней.

Также можно попробовать вывести список колонок в таблице:

show columns from test.order;

Ну и в завершение знакомства с консолью MySQL, выполним какой-нибудь запрос:

SELECT * FROM test.order;

Итак, уважаемые читатели, я вас поздравляю, теперь вы можете работать с MySQL в спартанских условиях без phpMyAdmin. Приведу некоторый список, повседневных, команд:

  • CREATE DATABASE DB_NAME; — создать новую бд;
  • SHOW DATABASES; — просмотр имеющихся бд;
  • USE DB_NAME; — выбрать бд;
  • SHOW TABLES; — просмотр всех таблиц;
  • SHOW COLUMNS FROM TABLE_NAME; — просмотр колонок и их свойств;
  • CREATE TABLE TABLE_NAME (`ID` INT(11),`NAME` VARCHAR(255)); — создание таблицы;
  • ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT(11); — добавить колонку в таблицу;
  • ALTER TABLE TABLE_NAME DROP COLUMN_NAME; — удалить колонку из таблицы ;
  • MYSQL -UUSERNAME -PPASSWORD -HHOST DB_NAME — залить бд;
  • MYSQLDUMP -UUSERNAME -PPASSWORD -HHOST DB_NAME > FILE_NAME.SQL — сделать дамп бд;
  • QUIT; — выход из консольки MySQL.

Команды для восстановления таблиц через консоль MySQL

Как и обещал в начале статьи, выкладываю команды для восстановления таблиц. Данные команды могут пригодиться после сбоя сервера.

  • CHECK TABLE имя_таблицы — Проверка таблицы на предмет ошибок в различных режимах.
  • OPTIMIZE TABLE имя_таблицы — Оптимизация таблиц.
  • REPAIR TABLE имя_таблицы — Ввосстановление таблицы.

Кроме этих MySQl команд, при восстановлении таблиц можно пользоваться специальной утилитой myisamchk, поставляемой вместе с MySQl.

Надеюсь, вы нашли в этой статье, полезную вам, информацию и теперь понимаете как работать через консоль MySQL. Подписывайтесь на RSS рассылки, в скором будущем будет опубликована статья, о использовании myisamchk.

Читайте также:  Как в ворде сделать подложку из картинки

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

Этот документ рекомендует использовать последовательность действий по настройке сервера базы данных MySQL версии 5.6 в ОС Windows. Сведения о конфигурации MySQL не рассматриваются, приводитсятолько последовательность необходимых шагов.

Подробнее об установке и настройке сервера баз данных MySQL для других операционных систем см. в документации Установка и обновление MySQL.

Примечание. Настройка сервера баз данных MySQL версии 5.1 в операционной системе Windows — этот документ содержит инструкции по установке сервера MySQL версии 5.1 в Windows.

Содержание

Начало загрузки

  1. Перейдите по адресу http://dev.mysql.com/downloads/installer/.
  2. Нажмите кнопку ‘Загрузить’.
  3. Сохраните файл программы установки на вашем компьютере.

Начало установки

После завершения загрузки запустите программу установки следующим образом.

  1. Щелкните правой кнопкой мыши загруженный установочный файл (например, mysql-installer-community-5.6.14.0.msi) и выберите пункт ‘Выполнить’.
    Запустится программа установки MySQL.
  2. На панели приветствия выберите ‘Установить продукты MySQL’.
  3. На панели информации о лицензии ознакомьтесь с лицензионным соглашением, установите флажок принятия и нажмите кнопку ‘Далее’.
  4. На панели ‘Найти последние продукты’ нажмите кнопку ‘Выполнить’.
    После завершения операции нажмите кнопку ‘Далее’.
  5. На панели "Тип настройки" выберите параметр "Пользовательская", а затем нажмите кнопку "Далее".
  6. На панели ‘Выбор компонентов обеспечения’ убедитесь, что выбран MySQL Server 5.6.x, и нажмите кнопку ‘Далее’.
  7. На панели ‘Проверить требования’ нажмите кнопку ‘Далее’.
  8. На панели ‘Установка’ нажмите кнопку ‘Выполнить’.
    После успешного завершения установки сервера на панели ‘Установка’ отображается информационное сообщение. Нажмите кнопку "Далее".
  9. На странице ‘Настройка’ нажмите кнопку ‘Далее’.
  10. На первой странице конфигурации сервера MySQL (1/3) установите следующие параметры:
    • Тип конфигурации сервера. Выберите вариант ‘Компьютер для разработки’.
    • Включите поддержку сети TCP/IP. Убедитесь, что флажок установлен, и задайте следующие параметры ниже:
      • Номер порта. Укажите порт подключения. По умолчанию установлено значение 3306; не следует изменять его без необходимости.
      • Откройте порт брандмауэра для доступа к сети. Выберите исключение добавления брандмауэра для указанного порта.
      • Расширенная настройка. Выберите флажок ‘Показать расширенные параметры’ для отображения дополнительной страницы конфигурации для настройки расширенных параметров для экземпляра сервера (если требуется).

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

      Нажмите кнопку "Далее".

    • На второй странице конфигурации сервера MySQL (2/3) установите следующие параметры:
      • Пароль учетной записи root.
        • Пароль root для MySQL. Введите пароль пользователя root.
        • Повторите ввод пароля. Повторно введите пароль пользователя root.
        • Примечание. Пользователь root — это пользователь, который имеет полный доступ к серверу баз данных MySQL — создание, обновление и удаление пользователей и так далее. Запомните пароль пользователя root (администратора) – он понадобится вам при создании примера базы данных.

        • Учетные записи пользователя MySQL. Нажмите кнопку ‘Добавить пользователя’ для создания учетной записи пользователя. В диалоговом окне ‘Сведения о пользователе MySQL’ введите имя пользователя, роль базы данных и пароль (например, !phpuser). Нажмите кнопку "ОК".
        • Нажмите кнопку "Далее".

        • На третьей странице конфигурации сервера MySQL (3/3) установите следующие параметры:
          • Имя службы Windows. Укажите имя службы Windows, которая будет использоваться для экземпляра сервера MySQL.
          • Запустите сервер MySQL при запуске системы. Не снимайте этот флажок, если сервер MySQL требуется для автоматического запуска при запуске системы.
          • Запуск службы Windows в качестве. Возможны следующие варианты.
            • Стандартная системная учетная запись. Рекомендуется для большинства сценариев.
            • Нестандартный пользователь. Существующая учетная запись пользователя рекомендуется для сложных сценариев.
            • Нажмите кнопку "Далее".

            • На странице ‘Обзор конфигурации’ нажмите кнопку ‘Далее’.
            • После успешного завершения настройки на панели ‘Завершение’ появляется информационное сообщение. Нажмите кнопку "Завершить".
            • Цель работы

              Установка MySQL

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

              Установка на личном компьютере

              Вы можете воспользоваться тем же вариантом, что и для установки на компьютер института, но проще будет использовать специальный инсталлятор. Для установки на личном компьютере вы просто скачиваете с сайта http://dev.mysql.com/downloads/mysql/ MySQL installer — это стандартный установщик, при помощи которого вы установите MySQL так же, как любую другую прогрумму Windows. В процессе установке следует выбрать вариант "Developer Default", чтобы установить полный необходимый вам набор инстурментов. Все остальные параметры можно оставить по умолчанию. Пароль для администратора вы можете придумать сами.

              Читайте также:  Как проверить лимит интернета на теле2

              Установка на компьютере института

              Скачать актуальный дистрибутив СУБД MySQL можно по адресу
              https://dev.mysql.com/downloads/mysql/
              Нам понадобится вариант Windows (x86, 64-bit), ZIP Archive. Скорее всего, вы так же можете получить его из сетевого диска, куда его предварительно скопировал преподаватель. В данном случае вы просто распаковываете скачанный архив к себе на локальный (не сетевой!) диск.

              Запуск MySQL

              Запуск на личном компьютере

              В случае, если вы установили MySQL при помощи инсталлятора, то его запуск и остановка будут осуществляться через управление службами Windows. По умолчанию после установки сервис должен уже работать.

              Запуск на компьютере института

              Управление сервером будет осуществляться из командной строки. Для этого необходимо выполнить следующие команды (перейдя в папку MySQL):

              1. Сначала инициализируем базу:
              2. Запомните пароль, который будет сгенерирован для пользователя root
              3. Теперь запускаем базу: Если вы всё проделали правильно, то в консоли должна появиться строка "mysqld.exe: ready for connections".
                После этого консоль перестаёт принимать ваш ввод и работает только на вывод информации. Не закрывайте эту консоль — вместе с ней вы закроете серверный процесс и больше не сможете общаться с СУБД! Для того, чтобы работать дальше, вам потребуется открыть ещё одну консоль.
              4. И меняем пароль. Для этого запускаем клиентскую программу mysql и вводим текущий пароль.
              5. И, оказавшись в консоли MySQL, меняем пароль: Не забудьте переподключиться и проверить, что пароль поменялся! Выйти из консоли MySQL в консоль Windows можно командой

              Привилегии в MySQL

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

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

              Теперь перейдём к рассмотрению каждой группы отдельно. И начнём с прав на управление данными в таблицах.

              • SELECT — эта привилегия позволяет делать выборку (вытаскивание) записей из таблиц баз данных.
              • INSERT — привилегия, которая необходима для добавления новых записей в таблицу.
              • UPDATE — право, позволяющее обновлять записи в таблице.
              • DELETE — эта привилегия позволяет удалять записи из таблицы.
              • FILE — разрешает делать выборку записей и записывать данные в файл, а также считывать их оттуда.

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

              • CREATE — привилегия, позволяющая создавать новые базы данных, а также новые таблицы в базе данных.
              • ALTER — привилегия, позволяющая переименовывать таблицы, вставлять новые поля в таблицу, удалять поля из таблицы, а также модифицировать их.
              • INDEX — разрешает создавать индекс по определённому полю и удалять его. О том, что это такое и для чего нужно мы поговорим в одной из следующих статей.
              • DROP — право, которое позволяет удалять либо таблицы, либо целые базы данных.
              • CREATE TEMPORARY TABLES — возможность создавать временные таблицы, которые хранятся во время сессии, а после окончания сессии данная таблица автоматически удаляется.

              И последняя группа привилегий — это привилегии, связанные с администрированием баз данных.

              • GRANT — привилегия, которая позволяет создавать новых пользователей, а также менять права у существующих. Тут есть очень важная деталь: нельзя изменять значения привилегий, которыми сам не обладаешь. То есть если человек обладает привилегией GRANT, но не обладает привилегией SELECT, то он не может новым пользователям дать привилегию SELECT. Впрочем, это вполне логично.
              • SUPER — позволяет использовать команду "kill", то есть убить поток. Поток — это текущее подключение другого пользователя к базе данных.
              • PROCESS — привилегия, позволяющая выполнить команду "processlist", которая показывает список потоков.
              • RELOAD — позволяет открывать и закрывать файлы журналов, а также перечитывать таблицы привилегий пользователей.
              • SHUTDOWN — привилегия, позволяющая выполнить команду "shutdown", отключающая работу сервера.
              • SHOW DATABASES — разрешает просматривать все существующие базы данных.
              • REFERENCES — данная привилегия ещё не доступна, а только зарезервирована для использования в будущем.
              • LOCK TABLES — позволяет блокировать таблицы от указанных потоков.
              • EXECUTE — позволяет запускать хранимые процедуры.
              • REPLICATION CLIENT — даёт право получать местонахождение ведущего (master) и ведомых (slaves) серверов.
              • REPLICATION SLAVE — это привилегия, позволяющая читать ведомым журнала ведущего сервера.
              Читайте также:  Dji phantom 4 грузоподъемность

              И, наконец, специальные привилегии, связанные с ограничением на доступные ресурсы:

              • MAX QUERIES PER HOUR — максимальное количество запросов в час, которое может отправить пользователь.
              • MAX UPDATES PER HOUR — максимальное количество команд в час, которые каким-либо образом изменяют либо таблицу, либо базу данных.
              • MAX CONNECTIONS PER HOUR — максимальное количество подключений в час, которое может сделать пользователь.

              Если значение вышеназванных пределов равны "", то ресурсы для пользователя не ограничены.

              Создание нового пользователя в MySQL

              Ранее мы вносили все изменения в настройки MySQL под root-пользователем, имея полный доступ ко всем базам данных. Однако для случаев, когда могут потребоваться более жесткие ограничения, есть способы создания пользователей с особыми наборами прав доступа.

              Давайте начнем с создания нового пользователя из консоли MySQL:

              К сожалению, на данном этапе пользователь "newuser" не имеет прав делать что-либо с базами данных. На самом деле, даже если если пользователь "newuser" попробует залогиниться (с паролем "password"), он не попадет в консоль MySQL.

              Таким образом, первое, что нам необходимо сделать, это предоставить пользователю доступ к информации, которая ему потребуется.

              Звездочки в этой команде задают базу и таблицу, соответственно, к которым у пользователя будет доступ. Конкретно эта команда позволяет пользователю читать, редактировать, выполнять любые действия над всеми базами данных и таблицами.

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

              Теперь ваши изменения вступят в силу.

              Назначение привилегий

              Для назначения прав конкретному пользователю можно использовать следующую схему:

              Если вы хотите дать доступ к любой базе данных или к любой таблице, поставьте звездочку (*) вместо названия базы данных или таблицы.

              Каждый раз, когда вы изменяете права доступа, не забудьте использовать команду Flush Privileges.

              Лишения прав доступа практически идентично их назначению:

              По аналогии с использованием команды DROP для удаления базы данных, вы можете использовать эту команду и для удаления пользователя.

              Для тестирования учетной записи созданного пользователя, разлогиньтесь с помощью команды:

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

              Основные утилиты MySQL.

              В состав дистрибутива MySQL входят следующие утилиты:

              • mysqld
              • mysql
              • mysqladmin
              • mysqlaccess
              • mysqlshow
              • mysqldump
              • isamchk

              Утилиты mysqld и mysql были подробно рассмотрены ранее, поэтому возвращаться к ним не будем. Кратко рассмотрим остальные.

              Mysqladmin

              Утилита для администрирования сервера. Может использоваться администратором, а также некоторыми пользователями, которым предоставлены определенные привилегии, например – Reload_priv, Shutdown_priv, Process_priv и File_priv. Данная команда может использоваться для создания баз данных, изменения пароля пользователя(администратор может изменить пароль любому пользователю, а рядовой пользователь – только свой собственный), перезагрузки и остановки сервера, просмотра списка процессов, запущенных на сервере. Mysqladmin поддерживает следующие команды:

              • Create [database_name] Создает базу данных
              • Drop [database_name] Удаляет базу данных и все таблицы в ней
              • Reload Перезагружает сервер
              • Shutdown Останавливает работу сервера MySQL
              • Processlist Выводит список процессов на сервере
              • Status Выводит сообщение о статусе сервера

              Пример использования mysqladmin для изменения пароля:

              Следует заметить, что в случае использования mysqladmin для установки пароля, не требуется использование функции password().Mysqladmin сам заботится о шифровании пароля.

              Mysqlaccess

              Mysqlshow

              Mysqldump

              Вы можете направить вывод mysqldump в клиентскую программу MySQL, чтобы копировать базу данных. ПРИМЕЧАНИЕ: Вы должны убедиться, что база данных не изменяется в это время, иначе Вы получите противоречивую копию!

              Примечание флаг –p используется в случае, если пользователь наделен паролем.
              После выполнения этой команды появился файл mysql-1.sql и mysql-2.sql. Загрузите их в текстовый редактор, чтобы поподробнее изучить.