ВОЙТИ
    opened image

    Бывают случаи, когда нужно произвести некоторые действия с базами данных MySQL в системе, в которой нет удобных инструментов для работы с базами данных (таких как phpMyAdmin), либо если они по какой-либо причине перестали работать. Будут рассмотрены основы работы непосредственно с MySQL для выполнения простейших операций.
     

    Вход в MySQL

    Чтобы войти в mysql подключитесь к серверу по SSH по данным пользователя root и выполните команду:

    mysql

     



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

     

    mysql -u user -p db


    Здесь:.
    -u user - имя пользователя базы данных, в данном случае, user;
    -p - опция, которая указывает, что далее, во время выполнения команды, нужно будет вводить пароль. Не рекомендую указывать пароль в консоли сразу за этим параметром так как он будет сохранён в истории команд;
    db - название базы данных.

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

    mysql --host 127.0.0.1 --port 3306 -u user -p db


    где:
    --host 127.0.0.1 - указывает адрес сервера. Укажите IP адрес или доменное имя другого сервера в случае удалённого подключения. Если сервер локальный (имеет адрес 127.0.0.1 или localhost), параметр --host можно опустить;
    --port 3306 - укажите номер порта, если он нестандартный. Если номер порта - 3306, можно этот параметр не указывать.

     

     

    Создание дампа базы данных

    Для того, чтобы создать дамп базы данных в файл, нужно выполнить команду:

     

     

    mysqldump db > db.sql


    где db.sql - название файла, в который будет записан дамп. Название может быть любым.

    Если нужно сделать дамп с использованием имени пользователя либо на другом сервере, можно воспользоваться такими же параметрами, как и при подключении к mysql:

     mysqldump --host 127.0.0.1 --port 3306 -u user -p db > db.sql


    Если дамп был создан без ошибок, ничего выведено не будет.

     

     

    Загрузка дампа в базу данных

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

     

     

    mysql db < db.sql


    или, если система расположена на другом порту или компьютере, выполните

    mysql --host 127.0.0.1 --port 3306 -u user -p db < db.sql


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

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

     

     

    Работа с базами данных в MySQL

    После входа в mysql Вам доступны широкие возможности по работе с базами данных, которые включают их создание, изменение, удаление, просмотр, назначение пользователей и многое другое. Давайте создадим базу данных newdatabase, пользователя newuser, который будет иметь пароль SecretPassword, и дадим все привилегии на базу данных этому пользователю. Заглавными буквами написаны команды SQL (команды не чувствительны к регистру), строчными - данные пользователя.  Ввод всех команд следует заканчивать точкой с запятой.

    Создаём базу данных:

     

     

    CREATE DATABASE newdatabase;


    Создаём локального пользователя баз данных:

    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'SecretPassword';


    Назначаем права на базу данных пользователю:

    GRANT ALL PRIVILEGES ON newdatabase.* TO 'newuser'@'localhost';



    Также можно просмотреть какие базы данных добавлены в систему:

    SHOW DATABASES;


    Чтобы просмотреть какие таблицы есть в базе данных, нужно сначала выбрать базу данных и затем выполнить команду вывода списка таблиц. Для примера просмотрим таблицы базы данных admin_wordpress, которая была создана для сайта wordpress.

    USE admin_wordpress;
    SHOW TABLES;



    Чтобы просмотреть все данные, которые есть в таблице, введите:

    SELECT * FROM wp_users;


    где wp_users - название таблицы.

    Для примера изменим пароль wordpress используя командную строку mysql. Для этого нужно в таблице wp_users изменить особым образом поле user_pass. Сделать это можно следующей командой:

    UPDATE wp_users SET user_pass=MD5('NewPassword') WHERE user_login='admin';



    Значение устанавливается при помощи команды SET. Здесь MD5 - это функция, нужная для установки хеша пароля. Сам пароль wordpress не хранится в базе данных в открытом виде. Для других CMS может потребоваться использовать другие функции.

    Выбрать нужного пользователя можно при помощи условия WHERE. В данном примере выбирается значение по полю user_login, а именно пользователь admin. Поиск нужных строк можно производить и по другим полям, например, ID или user_email. Будьте осторожны. Если есть несколько строк, в которых указанное поле соответствует выбранному критерию, все они будут изменены. Выбирайте поля, в которых указаны не повторяющиеся (или ключевые) значения.

    Удалить базу данных можно командой:

    DROP DATABASE newdatabase;

     

    Выход из MySQL

    Чтобы выйти из консоли mysql можно выполнить команду exit, quit или нажать комбинацию Ctrl+d или Ctrl+c.

     

     

     

    Заключение

    Были рассмотрены лишь основные команды по работе с MySQL, которые позволяют совершать базовые операции с базами данных.