Создания таблицы
Действия с полями таблиц (изменение их структуры)
Удаление таблиц из БД
В процессе разработки иногда приходится выполнять часть операций вручную через командную строку. Данная статья содержит основные команды для взаимодействия с MySQL.
Хотя инструменты, такие как PHPMYADMIN, очень легко взаимодействуют с базами данных MySQL / Mariadb, иногда необходимо получить доступ к базе данных непосредственно из командной строки. Эта статья будет касаться попадания в базу данных и некоторые общие задачи, но не предоставит полного образования на SQL Syntax, управлении базами данных или других темов высокого уровня. Примеры в этом руководстве предназначены для CentOS 7 и Mariadb, как включено в наше изображение VPS WordPress, но должно работать на нашей VPSes CPanel, стеками лампы и другими. Эта страница предполагает, что у вас есть Подключено к вашему серверу через SSH.
- Общие задачи MySQL, выполняемые из командной строки
- Войти в базу данных MySQL
- Сбросить пароль MySQL
- Перечислите свои базы данных
- База данных переключения с помощью команды «Использовать»:
- Команда «Show» также используется для перечисления таблиц в базе данных:
- Всегда делайте резервную копию перед внесением каких-либо изменений
- Способ 1 — Через PhpMyAdmin
- Способ 2 — Через консоль
- Способ 3 — Подключение с помощью PHP
- Способ 4 — Подключение к базе данных удаленно
- Запуск службы mysqld
- Просмотр таблиц в базе данных
- ЗАПУСК СЕРВЕРА
- Добавление службы mysqld
- Удаление таблиц из БД
- Создания таблицы
- Подключение к серверу
- Просмотр баз данных на сервере
- Действия с полями таблиц (изменение их структуры)
- Сброс пароля администратора WordPress
- Другие команды
- Работа с пользователями
- Экспорт и импорт дампа
- Удаление службы mysqld
- Работа с сервером из консоли
- Выход из монитора mysql
- Выбор базы данных
- Работа с базами данных
- Работа с данными
- Подключение к MySQL
- Полезные ссылки
- Дампы на удаленных машинах
- ЗАВЕРШЕНИЕ РАБОТЫ С СЕРВЕРОМ
- Вывод на экран структуры таблицы
Общие задачи MySQL, выполняемые из командной строки
Войти в базу данных MySQL
mysql -u root -pВведите пароль root.
Сбросить пароль MySQL
В CentOS 7:
systemctl stop mariadbmysqld_safe --skip-grant-tables --skip-networking &
MySQL -u rootsystemctl stop mariadb
systemctl start mariadb(Другие дистрибутивы Linux на основе системой Systemd могут иметь аналогичные команды в зависимости от того, запускают ли они фактическими mysql или mariadb; другие системы init будут разными)
Как только вы запустите команду ниже и введите свой пароль, вам будет представлен подсказку, которая сообщает вам, что программа действительно работает (Mariadb), и используется база данных:
mysql -u root -p MariaDB [(none)]>Перечислите свои базы данных
Выдать шоу базы данных; Команда, как видно ниже, чтобы увидеть все базы данных. Пример показан ниже:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| MySQL |
| performance_schema |
| tutorials |
+--------------------+
4 rows in set (0.00 sec)База данных переключения с помощью команды «Использовать»:
MariaDB [(none)]> use tutorials;
Database changed
MariaDB [tutorials]>Команда «Show» также используется для перечисления таблиц в базе данных:
MariaDB [mysql]> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |Всегда делайте резервную копию перед внесением каких-либо изменений
Использовать mysqldump. Чтобы сделать резервную копию вашей базы данных, прежде чем продолжить с этим руководством настоятельно рекомендуется.
mysqldump database name > databasebackup.sqlЗамените имя базы данных вашим фактическим именем базы данных и резервную копию базы данных с именем файла, который вы хотели бы создать и заканчивать его .sql. как тип файла для сохранения вашей базы данных. Это позволит вам восстановить базы данных MySQL с помощью mysqldump из этого файла резервной копии в любое время.
Мы рекомендуем вам запустить эту команду из каталога, который не является публично доступен, так что ваша база данных не может быть загружена с вашей учетной записи без входа в командную строку или FTP. Обязательно поменяйте свой каталог на / корень или /Главная или другое место в файловой системе, требующее надлежащих учетных данных.
Существует 4 способа подключения к базе данных MySql:
Способ 1 — Через PhpMyAdmin
- В панели управления хостингом в разделе «Главное», выбираем «Базы данных».

- Далее выбираем нужную базу данных и нажимаем «Перейти».

- Вводим название пользователя, пароль и нажимаем «Вперед».

Способ 2 — Через консоль
Для подключения к базе данных MySql через консоль, нужно набрать следующую команду:
- You_Server — хост с MySql, обычно это IP сервера. Если подключаемся с локального сервера, параметр можно опустить.
- User_Name — имя пользователя MySql.
- Password — пароль MySql.
Если вы все сделали правильно, должно быть так:

Способ 3 — Подключение с помощью PHP
Для подключения к базе данных через PHP, нужно выполнить следующий код:
$result = mysqli_query($conn, 'SELECT id FROM table limit 1');
$row = mysqli_fetch_row($result);
где, функция mysql_connect состоит из:
- localhost — имя хостинга;
- admin — имя пользователя (для входа в MySql);
- pass — пароль (для входа в MySql);
- db — имя базы данных, к которой подключаемся.
- Функция mysql_query — нужна для выбора вашего запроса к базе данных. Где table пишем название таблицы, limit 1 указываем количество строк. В представленном примере выбираем столбец ID из базы данных книг (Ставим ID, если данный параметр указан в таблице).
- Функция mysql_fetch_row — нужна для извлечения строк из SQL-запроса, который мы только что создали.
- Функция mysql_close — нужна для того, чтобы закрыть соединение.
Способ 4 — Подключение к базе данных удаленно
Для того чтобы подключиться к базе данных MySql удаленно, нужно выполнить следующие действия:
- С помощью панели управления хостингом, в разделе «Главное» заходим в «Базы Данных».

- Далее выбираете нужную базу данных и нажимаете «Пользователи».

- Затем выбираем нужного пользователя (в данном случае он один) и нажимаем «Изменить».

- Ставим галочку напротив графы «Удаленный доступ» и нажимаем «Ок».
Также нужно обратиться в поддержку хостинга и сообщить ip адрес, с которого будут происходить подключения к бд, иначе данная настройка работать не будет.

Готово! Теперь вы сможете подключаться к базе данных удаленно (чтобы подключиться удаленно через PHP, смотрите предыдущий способ, представленный выше).
Запуск службы mysqld
Обновим вкладку «» — появится новая служба -, в ее свойствах выбрать «» —
Для того, чтобы запустить эту службу, запишем:
Жмем «Enter» и получаем:

Если обновим вкладку «Службы» — увидим, что служба — работает

Просмотр таблиц в базе данных

ЗАПУСК СЕРВЕРА
За запуск сервера отвечает утилита (C:\OSPanel\modules\database\MySQL-5.7-x64\bin\mysqld.exe)
Чтобы ее запустить необходимо:
1. Проверить, прописан-ли вызов сервера MySql в качестве службы Windows.
(Панель управления -> Система и безопасность -> Администрирование -> Службы ->)

2. Если эта служба не прописана, то добавляем ее.
Добавление службы mysqld
Прописываем полный путь к утилите в двойных кавычках:
( назначаем имя службы — «mysqld»)
После этого указываем следующую команду (путь к файлу настроек):
Жмем Enter и получаем:
Service successfully installed

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

Вставляем запрос и выполняем:

Выполним запрос и увидим, что в базе появилась новая таблица -.
Подключение к серверу
Для подключение к серверу небходимо указать путь к утилите :
Если указан пароль — :
Жмем «Enter» и будет запрошен пароль
Для того, чтобы не набирать постоянно путь к утилите, необходимо прописать путь.
Чтобы прописать путь выбираем:
-> свойства компьютера,
-> дополнительные параметры,
-> переменные среды,
-> в системных переменных находим (путь),
-> жмем «изменить»,
-> в изменении системной переменной мы идем в конец, добавляем точку с запятой и добавляем новый путь:
(оканчивается на bin\)
Затем перезапускаем командную строку.
Теперь, чтобы подключится к серверу, достаточно написать:
и нажать «Enter».

Commands end with ; or \g — команды окончания запроса (точка с запятой или ),
Your MySql connection id is 3 — номер нашего соединения с сервером — 3,
Введя и нажав «Enter»- увидим список всех возможных команд,
— очистить текущий оператор ввода.
или — выход из
Просмотр баз данных на сервере
Для того, чтобы посмотреть какие базы данных имется на сервере, можно воспользоваться следующей командой:
SQL — является языком регистронезависимым, и операторы принято писать в верхнем регистре:
а имена баз данных, имена таблиц — пишутся в нижнем регистре.

Если произойдет ошибка: ERROR 2013 (HY000): lost connection to mysql during query (потеряно соединение с MySQL во время запроса),
то можно попробовать увеличить в файле .
Рекомендуемое значение составляет 10 секунд.
Или набрать в консоли:
mysql> SET GLOBAL connect_timeout = 10;
Действия с полями таблиц (изменение их структуры)
Удаление определённого поля таблицы:
Добавление поля в таблицу:
Переимеинование поля и измение типа хранимых в нём данных:
Изменение типа данных определенного поля:
Сброс пароля администратора WordPress
Ознакомьтесь с приведенными выше инструкциями о том, как сделать резервную копию вашей базы данных, прежде чем продолжить.
// ** MySQL settings ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'appdb' );/** MySQL database username */
define( 'DB_USER', 'appdb_user' );/** MySQL database password */
define( 'DB_PASSWORD', '...' );Шаг второй: Имея эту информацию, вы можете адаптировать инструкции из Как сбросить пароль администратора WordPress и сделаем то же самое из командной строки:
mysql -u appdb_user -p
Enter password:
Welcome to the MariaDB monitor. Commands end with; or \gШаг третий: Переключитесь на базу данных appdb:
MariaDB [(none)]> use appdb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -AБаза данных изменена
Шаг четвертый: и покажем таблицы:
MariaDB [appdb]> show tables;
+-----------------------+
| Tables_in_appdb |
+-----------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------+
12 rows in set (0.00 sec)MariaDB [appdb]>MariaDB [appdb]> SELECT user_login,user_pass FROM wp_users;
+--------------+------------------------------------+
| user_login | user_pass |
+--------------+------------------------------------+
| hstwnd_admin | $P$BMCbERthYHPMJK.do2SUcxjAy567jo0 |
+--------------+------------------------------------+
1 row in set (0.00 sec)Шаг шестой: Это позволяет нам установить новый пароль с помощью
MariaDB [appdb]> UPDATE wp_users SET user_pass=MD5('newpassword') WHERE user_login = 'hstwnd_admin';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0Шаг седьмой: И мы снова видим новый хэш пароля с тем же SELECT
MariaDB [appdb]> SELECT user_login,user_pass FROM wp_users;
+--------------+----------------------------------+
| user_login | user_pass |
+--------------+----------------------------------+
| hstwnd_admin | 5e9d11a14ad1c8dd77e98ef9b53fd1ba |
+--------------+----------------------------------+
1 row in set (0.00 sec)Чтобы уйти, мы бежим «бросить»
MariaDB [appdb]> quit
ByeВот и все!Ваш новый пароль администратора установлен.
Другие команды
Вывод общей информации о базе данных:
Отображение списка выполняемых процессов:
Работа с пользователями
mysqluser;
При работе с разными проектами для каждого из них желательно создавать разных пользователей, так мы минимизируем возможные потери от взломов или плохо написанного кода. Создание пользователей состоит из двух этапов. Первый — добавление записи о пользователе в БД. Второй — наделение созданного пользователя полномочиями.
@ ;
В приведенном примере пользователь будет иметь право подключаться с сервера «localhost». Если требуется дать пользователю право подключаться к базе данных с других хостов (удаленных), то вместо «localhost» необходимо указать символ процента — «%». Чтобы пользователь имел право подключаться и с «localhost» и с удаленных хостов, то необходимо создать две записи с «localhost» и с «%».
Обновление пароля пользователя:
PASSWORD @ PASSWORD;
Выделение привилегий пользователю:
PRIVILEGES @;
Пример выше содержит два важных элемента. Первый — список привилегий, в данном случае была использована настройка «ALL PRIVILEGES». Она заменяет список всех привилегий, т.е. «SELECT», «CREATE», «INSERT», «UPDATE», «DELETE», «DROP» и так далее. Второй момент — список баз данных и таблиц на которые выдаются указанные привилегии. В примере выше указаны все базы данных и все таблицы — две звездочки(*.*).
Если вы указываете привилегии не через команду «GRANT» (т.е. вручную), то для вступления изменений в силу необходимо оповестить об этом MySQL вот так:
Вывод привилегий пользователя:
GRANTS new_user_name;
Сброс всех привилегий пользователя:
PRIVILEGES @;
new_user_name@localhost;
Экспорт и импорт дампа
Для создания дампа используется отдельная утилита — mysqldump. А импортировать дампы можно через утилиту mysqlimport или основным клиентом — mysql. У всех этих утилит множество настроек с которыми лучше ознакомиться в документации.
Экспорт всей базы данных:
mysqldump h IP_ADDRESS u USER_NAME p DATABASE_NAME dumpsql
Экспорт структуры базы данных (т.е. без данных):
mysqldump h IP_ADDRESS u USER_NAME p --no-data DATABASE_NAME < dump.sqlЭкспорт одной таблицы базы данных с данными:
mysqldump h IP_ADDRESS u USER_NAME p DATABASE_NAME dumpsql
Экспорт структуры одной таблицы базы данных (т.е. без данных):
mysqldump h IP_ADDRESS u USER_NAME p DATABASE_NAME --no-data < dump.sqlИмпорт базы данных через mysql:
mysql h IP_ADDRESS u USER_NAME p DATABASE_NAME dumpsql
Импорт базы данных через mysql с выводом результатов выполнения запросов:
pathdumpdumpsql
Иногда бывает необходимо посмотреть запрос на создание выбранной таблицы прямо в консоли, делается это вот так:
;
Удаление службы mysqld
Для удаление службы в командной строке пропишем:
— служба будет удалена
Работа с сервером из консоли
Добавление службы mysqld
Удаление службы mysqld
Выход из монитора mysql
КОМАНДЫ ДЛЯ РАБОТЫ НА СЕРВЕРЕ
Просмотр баз данных на сервере (mysql> SHOW DATABASES;)
Просмотр таблиц в базе данных (mysql> show tables;)
Останавливаем сервер ()
Открываем окно консоли (команда )
Выход из монитора mysql
Чтобы выйти из монитора:
Выбор базы данных
Для того, чтобы выбрать базу данных используется следующая команда:
— здесь точка с запятой не используется, поскольку — не является оператором
(командой) MySQL, а является командой консоли.
Работа с базами данных
В исходниках программы старайтесь указывать все операторы баз данных в верхнем регистре, а всё остальное — наименования баз данных, таблиц, столбцов и т.д., в нижнем. Это повышает читабельность запросов в вашем коде. Например:
SELECT id, name FROM customer WHERE status = 100;
Вывод списка имеющихся БД:
Каждая сборка MySQL имеет несколько стандартных баз данных, они хранятся рядом с вашими и выполняют технические функции, хотя с ними тоже можно работать.
- information_schema — хранилище метаданных о вашей базе данных, таких как наименование других баз данных, количестве столбцов, их таких и т.д.
- performance_schema — быстрая версия «information_schema«.
- mysql — еще одно хранилище служебной информации.
Выбор базы данных для работы:
После выбора базы данных все команды по работе с данными будут относиться к ней и приглашение командной строки тоже обновится.
Создание новой базы данных с кодировкой «utf8_general_ci» (это не совсем кодировка, это скорее способ сравнения символов):
new_database utf8_general_ci;
Удаление базы данных:
new_database;
Работа с данными
Отображение списка таблиц:
Отображение структуры таблицы:
Операции с данными выглядят и работают также, как и в исходниках программ.
customer id name age TINYINT ;
name address client ;
customer name age ;
customer age name ;
Подключение к MySQL
Для подключения к локальной БД с пользователем «root» без пароля достаточно прописать:
В примере выше не указывается ни пароль, ни хост. В таком виде она часто используется при разработке на сборках с единственным пользователем по умолчанию. К примеру, на OpenServer’e. Этого пользователя попросту лень менять :), но на продакшене, конечно, следует использовать отдельного пользователя с урезанными правами по отношению к root’у. В таких случаях при подключении необходимо указывать дополнительные параметры.
Подключение без указания конкретной БД:
mysql -h IP_ADDRESS -u USER_NAME -p
Подключение к нужной БД сразу:
mysql -h IP_ADDRESS -u USER_NAME DATABASE_NAME -p
- -h — хост, IP-адрес или домен;
- -u — имя пользователя;
- -p — пароль, вводится после нажатия ENTER;
Если были указаны корректные данные, то приглашение командной строки изменится на «mysql>» или что-то подобное (часто вместо самой MySQL используются её ответвления MariaDB и Percona).
Для отключения от MySQL используется команда:
Или её синоним:
Полезные ссылки
- dev.mysql.com/doc/refman/8.0/en — официальная документация.
- dev.mysql.com/doc/refman/8.0/en/mysqldump.html — официальная документация по утилите mysqldump;
- itreviewchannel.ru/zagruzka-i-skachivanie-fajlov-po-ssh — загрузка и скачивание файлов по ssh.
Дампы на удаленных машинах
Экспорт дампа из удаленной БД на локальную машину:
ssh USER_NAME@HOST_IP mysqldump u DB_USER p DB_NAME dumpsql
Импорт дампа в БД на удаленной машине с локальной машины:
ssh USER_NAME@HOST_IP mysql u DB_USER p DB_NAME dumpsql
ЗАВЕРШЕНИЕ РАБОТЫ С СЕРВЕРОМ
Закрываем соединение и завершаем работу с сервером:
Вывод на экран структуры таблицы

Команда SHOW CREATE TABLE помимо имени, типов полей и значений их по умолчанию позволяет получить значения ключей таблиц,
движков таблиц (InnoDB, MyISAM), кодировку и др.


