Как работать с MySQL?

 

В данном посте, я разъясню как администрировать MySQL.  Я опишу, как решить наиболее часто встречаемые повседневные задачи.  Опыт показывает, что даже  «гуру» в MySQL, после продолжительного перерыва в работе, забывают напрочь все азы администрирования MySQL. Поэтому данный пост, я вижу полезным.

admin

 

Что-бы, было удобнее ориентироваться, я привел список вопросов на которые вы найдете ответы. При нажатие на вопрос, вы попадает на его ответ в этом посте.

 

Обзор вариантов для работы с MySQL (командная строка Unix/Linux и Windows, PHP, phpMyAdmin)

Как узнать версию MySQL?

Как посмотреть список БД?

Как узнать, какие таблицы содержит та или иная БД?

Как сделать резервную копию БД?

Как восстановить БД из резервной копии?

Как посмотреть список существующих аккаунтов?

Как создать аккаунт?

Как удалить аккаунт?

Как изменить пароль для пользователя?

 

 

 

Итак вы установили MySQL, как с ним работать?

 

 

1.  Обзор вариантов работы с MySQL

 

 

— C помощью PHP (функция mysqli_query)

 

В PHP с MySQL можно работать как через ООП (методы класса mysqli), так и через функции (mysqli_…() ).

Я кратко покажу как работать с MySQL через функции.

Первым делом, надо установить соединение с MySQL

 

 

Где

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

 

И самое важное, сделаем SQL запрос к MySQL.

 

 

Где $result_query – результат запроса в виде объекта класса mysqli_result, для извлечения из него информации существует несколько функций, более подробно тут.

 

Приведу пример

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

 

Где

MYSQLI_ASSOC – константа, указывающая что результат должен быть ассоциативный массив (иначе мы не сможем обращаться к столбцам по их именам)

$row – массив строк возвращенной таблицы

$r – одна строка – ассоциативный массив из значений столбцов, обращаясь к столбцам можно по именам

 

Далее очистим переменную с результатом

 

 

И наконец, закроем соединение с MySQL

 

 

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

 

 

— С помощью phpMyAdmin

 

На вкладке SQL, вы можете вводить свои запросы

 

phpmyadmin_SQL

 

— C помощью командной строки Unix/Linux и Windows

 

Для входа в СУБД MySQL c помощью командной строки Unix/Linux и Windows необходимо авторизоваться, т.е. указать в качестве кого вы её посещаете.

 

Для этого пишем

 

 

жмем Enter, после чего вам предлагают вести пароль

 

Enter password:

 

после удачного ввода пароля вы попадаете в монитор MySQL

 

 

В данном режиме вы можете выполняются SQL запросы. Для выхода из него необходимо вести QUIT.

 

 

2. Администрирование MySQL

 

Не касаясь в данном посте подробностей языка SQL, приведу несколько команд, с помощью которых вы сможете узнать версию MySQL, посмотреть список БД, узнать какие таблицы содержит та или иная БД, сделать дамп (резервную копию) БД, восстановить БД из дампа, посмотреть аккаунты пользователей , создать аккаунт пользователя, удалить аккаунт пользователя, изменить пароль root пользователя.

 

Использовать SQL команды вы можете в PHP скрипте, в мониторе MySQL (командной строке) и с помощью phpMyAdmin. Также, хочу заметить, что регистр в SQL значения не имеет.

 

Как узнать версию MySQL?

 

Как посмотреть список БД?

 

Как узнать какие таблицы содержит та или иная БД?

 

Как сделать дамп (резервную копию) БД? (случай для командной строки и phpMyAdmin)

Для создания резервной копии необходимо использовать специальную утилиту – mysqldump. Если вы сейчас находитесь в мониторе MySQL (т.е. в mysql>), выйдите из него с помощью  QUIT.

 

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

 

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

 

phpmyadmin_dump

 

 

В результате с помощью браузера к вам на компьютер начнет загружаться резервная копия БД.

 

Как восстановить БД из дампа или резервной копии (случай для командной строки и phpMyAdmin)? 

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

Далее выйдем с помощью QUIT и восстановим дамп в заданную БД, с помощью команды

 

Аналогичные действия можно сделать с помощью phpMyAdmin не используя SQL, для этого выберем в левом столбце БД, далее нажмите на вкладку «Импорт», затем жмете «Выберите файл» и ОК.

 

phpmyadmin_dump_2

 

 

 

Как посмотреть аккаунты пользователей?

Список пользователей храниться в БД с именем mysql (доступна только root пользователю)

В результате будет выведена таблица, с столбцами user и host, где указываются имена юзеров и с каких хостов они могу заходить.

 

Как создать акаунт?

Создадим пользователя user1, назначим ему пароль password

 

Назначим все привилегии для пользователя user1 к базе db1

 

Пользователь user1 может подключаться к базе данных db1 только с этого сервера, т.е. локально, удаленно не может. Чтобы создать пользователя который бы смог подключаться удаленно, вместо «s-engineer.ru» необходимо писать «%».

grant usage on *.* to user1@% identified by «password»;

 

Как удалить пользователя?

 

Как изменить пароль пользователя?

Мы изменили пароль на newpass для пользователя root с локальной машины

(если ошибка, попробуйте изменить кавычки на двойные в командной строке)

 

 

 

P.S. Если для разработки вам нужна уже готовая связка Apache+PHP+MySQL работающая под Windows, то я рекомендую установить «Денвер» (джентельменский набор для web-разработчика). Скачать его можно с официального сайта — http://www.denwer.ru/

 




Буду признателен если вы поделитесь данным постом

Комментарии
  1. сисадмин пишет:

    Дополнение по последнему пункту: начиная с версии 5.6 первой командой после установки mysql-сервера обязательно должна быть:

    set password=password(‘soMeRaNdomStrIng’);

    Иначе не даст делать никаких запросов.

  2. admin пишет:

    Сисадмин спасибо за замечание, проверю.

    С удовольствием почитаю ваш блог на выходных.



Ваш комментарий


Ответ в цифрах

 
© s-engineer.ru, 2012-2017 | Все права защищены