opened image

Основы работы в mysql

Бывают случаи, когда нужно произвести некоторые действия с базами данных 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, которые позволяют совершать базовые операции с базами данных.