Команди MySQL для командного рядка Linux

Керування MySQL у командному рядку Linux

Працювати з базами даних MySQL через командний рядок Linux набагато ефективніше та надійніше. У цьому матеріалі ми розглянемо основні команди для здійснення різноманітних операцій з базами даних.

Підключення бази даних

  • mysql -u username -p – підключення до MySQL-сервера від імені вказаного користувача;
  • mysql -u username -p databasename – підключення до бази даних від імені її користувача;
  • exit – обірвати з’єднання з MySQL-сервером та вийти.

Створення

  • CREATE DATABASE databasename;– створити базу даних за вказаним іменем;
  • SHOW CREATE DATABASE databasename;– створити базу даних за вказаним іменем та показати параметри;
  • CREATE DATABASE `databasename` CHARACTER SET utf8 COLLATE utf8_general_ci; – створення бази даних за вказаним кодуванням;
  • CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';– створити користувача бази даних з іменем і паролем;
  • GRANT ALL PRIVILEGES ON databasename.table_of_database TO 'username'@'localhost';– надати користувачу права доступа до бази даних і її таблиці;
  • GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';– надати користувачу права доступу до усіх баз даних і таблиць;
  • GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'localhost';– надати користувачу права доступу до усіх таблиць тільки заданої бази даних;
  • GRANT SELECT, INSERT, DELETE ON databasename.* TO 'username'@'localhost'; – надати користувачу обмежені права доступу з можливістю обрати базу даних, вставляти і видаляти рядки в таблицях;
  • FLUSH PRIVILEGES; – застосувати надані користувачам права, аби вони вступили в силу негайно;
  • REVOKE ALL PRIVILEGES ON databasename.* TO 'username'@'localhost'; – відмінити усі права доступу до вказаної бази даних і усіх її таблиць для заданого користувача.
ЧИТАЙТЕ ТАКОЖ:  Kali Linux: історія, встановлення, налаштування

Перегляд

  • SHOW DATABASES; – показати усі бази даних;
  • USE databasename; – перейти до вказаної бази даних;
  • SHOW TABLES; – показати усі таблиці поточної бази даних;
  • SELECT * FROM tablename; – показати вміст вказаної таблиці бази даних;
  • SELECT User FROM mysql.user; – вивести на екран усіх користувачів MySQL;
  • SELECT User, Host FROM mysql.user; – вивести на екран усіх користувачів MySQL і їх хости;
  • SELECT User, Host, Password FROM mysql.user; – вивести на екран усіх користувачів MySQL, їх хости і паролі (можна також додати інші параметри);
  • SHOW GRANTS; – перегляд усіх привілегій активного користувача;
  • SHOW GRANTS FOR 'username'@'localhost'; – показати права доступу для вказаного користувача;
  • DESCRIBE table_database; – дізнатися які стовпці містяться в таблиці бази даних і їх тип;
  • SELECT DISTINCT name FROM tablename; – отримати список унікальних назв з таблиці бази даних без дублів;
  • SELECT name, COUNT(*)FROM tablenameGROUP BY name; – відсортувати записи з таблиці бази даних за вказаним ім’ям;
  • SELECT *FROM tablenameORDER BY published_date ASC; – відсортувати за зростанням (DESC – спаданням);
  • SELECT name, COUNT(*)FROM tablenameGROUP BY nameHAVING name LIKE '%Hack%'; – відсортувати записи з таблиці бази даних за назвою, яка містить задане слово;
  • SELECT *FROM tablenameWHERE description LIKE "%Franko%"; – обрати запис в стопці таблиці бази даних description із заданим словом;
  • SELECT * FROM tablename WHERE category = "Offensive Security" AND name = "Bug Bounty Bootcamp"; – обрати стовпці зі заданами значеннями використовуючи оператор AND.
  • SELECT * FROM tablename WHERE name LIKE "%Android%" OR name LIKE "%iOS%"; – вибір стовпців використовуючи оператор OR;
  • SELECT * FROM tablename WHERE NOT description LIKE "%guide%"; – аналогічна операція, тільки тут застосовується оператор NOT;
  • SELECT * FROM tablename WHERE id BETWEEN 2 AND 4; – пошук з допомогою оператора BETWEEN.
  • SELECT * FROM tablename WHERE name = "Designing Secure Software"; – пошук з допомогою оператора “=”;
  • SELECT * FROM tablename WHERE category != "Offensive Security"; – пошук з допомогою оператора “не дорівнює”;
  • SELECT * FROM tablename WHERE published_date < "2025-01-01"; – пошук історичних записів з допомогою операторів “менше-більше”, а  також “<=” та “>=”.
ЧИТАЙТЕ ТАКОЖ:  Кращі розширення Firefox і Chrome для хакерів

Зміна

  • CREATE TABLE example_table_name (example_column1 data_type,example_column2 data_type,example_column3 data_type); – створення таблиці бази даних з відповідними колонками;
  • ALTER TABLE table_databaseADD new_column INT; – додавання до таблиці бази даних нової колонки з типом даних Integer;
  • ALTER TABLE tablename DROP INDEX columnname; – видалити стовпчик (колонку) заданої бази даних;
  • INSERT INTO table_books (id, name, published_date, description)VALUES (1, "Grushevskyi History", "2024-10-14", "Grushevsky all book history"); – додавання нового рядка в таблицю бази даних з вказаним списком стовбців і їх значеннями;
  • RENAME TABLE tablename TO newtablename; – переіменувати таблицю бази даних;
  • UPDATE booksSET description = "An In-Depth Guide to Android's Security Architecture."WHERE id = 1; – оновлення даних в таблиці бази даних, зміна значення в стовпці.

Видалення

  • DROP DATABASE databasename; – видалити базу даних;
  • DROP USER 'username'@'localhost'; – видалити користувача бази даних;
  • SET PASSWORD FOR 'username'@'localhost' = PASSWORD('newpassword'); – встановити пароль для користувача бази даних;
  • TRUNCATE TABLE Tablename; – повне видалення вмісту таблиці бази даних;
  • DELETE FROM tablename WHERE fieldname = 'name'; – видалити рядок із вказаної таблиці.

Резервне копіювання

  • mysqldump -u username -p databasename > dump_file.sql – створення резервної копії бази даних (створення дампа);
  • mysqldump -u root -p -B dbname1 dbname2 > dump.sql – створення дампу вказаних баз даних;
  • mysqldump -u root -p -A > dump.sql – дамп усіх баз даних;
  • mysql -u root -p namedatabase < dump_file.sql – імпорт дампу бази даних;
  • SHOW GLOBAL STATUS; – вивести на екран статистику MySQL-бази даних.

Функції

  • SELECT CONCAT(name, " is a type of ", category, " book.") AS book_info FROM books; – функція використовується для додавання двох або більше рядків разом. Корисно поєднувати текст з різних колонок;
  • SELECT category, GROUP_CONCAT(name SEPARATOR ", ") AS books FROM books GROUP BY category; – функція може допомогти нам об’єднати дані з кількох рядків в одне поле. Розглянемо приклад його використання;
  • SELECT SUBSTRING(published_date, 1, 4) AS published_year FROM books; – функція отримає підрядок із рядка в запиті, починаючи з визначеної позиції. Також можна вказати довжину цього підрядка;
  • SELECT LENGTH(name) AS name_length FROM books; – функція повертає кількість символів у рядку. Це включає пробіли та розділові знаки. Нижче ми можемо навести приклад;
  • SELECT COUNT(*) AS total_books FROM books; – повертає кількість записів у виразі, як показано в наведеному нижче прикладі;
  • SELECT SUM(price) AS total_price FROM books; – підсумовує всі значення (не NULL) визначеного стовпця;
  • SELECT MAX(published_date) AS latest_book FROM books; – обчислює максимальне значення в наданому стовпці виразу;
  • SELECT MIN(published_date) AS earliest_book FROM books; – обчислює мінімальне значення в наданому стовпці виразу.
ЧИТАЙТЕ ТАКОЖ:  Як аналізувати навантаженість VPS-сервера?

Додаткові джерела і посилання

Автор: © Konrad Ravenstone, KR.Laboratories Research Labs

Konrad Ravenstone// про автора

Кібермольфар, хакер, лінуксоїд, дослідник безпеки в KR. Labs Research

Сподобалася стаття? Поділитися в соцмережах:
KR. Labs Research
Рекомендоване:
Мова піде про цифрові метеорологічні станції - онлайн-сервіси, які дозволяють…