НОВОСТИ

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

Команды MySQL для консоли Linux

Долгое время все основные операции с MySQL-базами я проводил в веб-интерфейсе — посредством обычной хостинг-панели и утилиты PhpMyAdmin. В таком формате все администрирование базы данных ложилось на плечи приложения PhpMyAdmin, которое написано на языке PHP и зависит от разных факторов, например конфигурации веб-сервера, версий программного обеспечения и самого PHP. Когда количество баз данных растет, а окружения постоянно меняются, MyPhpAdmin требует дополнительных ресурсов и настройки, иначе может работать не совсем стабильно, например срабатывают ошибки, лимиты и таймауты. Да и сам веб-интерфейс имеет свои ограничения, поэтому для серьезных задач профессионалы используют только командную строку. Как выяснилось, это намного быстрее, стабильнее и безопаснее. В этой заметке хочу поделиться основными командами для работы с MySQL/MariaDB в консоли VPS-сервера под управлением ОС 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; #создание базы данных с указанными параметрами (кодировка utf8)

CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';#создать пользователя базы данных с именем и паролем

GRANT ALL PRIVILEGES ON databasename.table_of_database TO 'username'@'localhost';#предоставить пользователю права доступа к базе данных и ее таблице

GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'localhost';#предоставить пользователю права доступа ко всем таблицам указанной базы данных

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';#предоставить пользователю права доступа ко всем базам данных и таблицам

GRANT SELECT, INSERT, DELETE ON databasename.* TO 'username'@'localhost'; #предоставить пользователю ограниченные права доступа с возможностью выбирать базу данных, вставлять строки в таблицы, удалять строки

FLUSH PRIVILEGES; #применить, чтобы установленные права доступа для пользователя вступили в силу

REVOKE ALL PRIVILEGES ON databasename.* TO 'username'@'localhost'; #отменить все права доступа к указанной базе данных и всем ее таблицам для пользователя

Читайте также:  Команды для сбора информации об аппаратной части в 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';#показать права доступа (привилегии) для указанного пользователя базы данных

Операции

DROP DATABASE databasename; #удалить базу данных

DROP USER 'username'@'localhost'; #удалить пользователя базы данных

SET PASSWORD FOR 'username'@'localhost' = PASSWORD('newpassword');#установить пароль для пользователя базы данных

RENAME TABLE tablename TO newtablename; #переименовать название ранее выбранной таблицы базы данных (выбор с помощью USE)

DELETE FROM tablename WHERE fieldname = 'name'; #удалить строку из указанной таблицы

ALTER TABLE tablename DROP INDEX columnname; #удалить столбец из базы данных

TRUNCATE TABLE Tablename; #полное удаление содержимого таблицы базы данных

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-базы данных

Полезные ссылки

Оценка:
( 1 оценка, среднее 5 из 5 )
Подписка на KRASHENININ.TECH

Получайте регулярные обновления на почту!


Виталий Крашенинин/ автор статьи
Основатель блога, публицист, обзорщик веб-технологий, IT-специалист. Исследователь цифрового мира. Сфокусирован на кибербезопасности, системном администрировании, веб-разработке и SEO.
Не забудьте поделиться материалом в соцсетях:
KRASHENININ.TECH - блог о веб-технологиях, и не только
Подписаться
Уведомление о
guest
0 Комментарий
Встроенные отзывы
Просмотреть все комментарии
0
Есть мысли? Прокомментируй!x
()
x
Читайте ранее:
Анонимные и приватные поисковые системы для OSINT
ТОП-10 поисковых систем, о которых вы не знали

Не только Google, или 10 поисковых систем, о которых вы не знали. Сегодня я расскажу о метапоисковых движках, которые позволяют...

Закрыть