================================================================================
# Терминал: Основы работы с Базами Данных (MySQL)
================================================================================
# Терминал поддерживает режим команд MySQL, для этого нужно перейти в режим MySQL
mysql — переход в режим mysql (если не требуется вводить пароль)
mysql –uUSERNAME –pPASSWORD -hHOST — подключение к MySQL демону (если требуется вводить пароль)
Указываются доступы USERNAME, PASSWORD к Базе данных, а не к SSH!
Если команда прошла успешно, значит мы находимся в режиме mysql
# Создание базы данных выполняется в режиме mysql>:
- Создать базу данных
- Назначить права к базе
- Перезагрузить демон MYSQL
mysql> create database my_site; — создать базу данных
mysql> grant all privileges on my_site.* to my_site@'localhost' identified by 'PASSWORD';
(назначение прав на базу (указывается база и пароль))
mysql> exit — Выход из режима MYSQL
service mysql restart — перезапуск демона MySQL
================================================================================
# Проверка загруженности MYSQL
================================================================================
sudo -i mysql # Переход в режим mysql
mysql> show processlist; # список процессов (кратко)
mysql> show full processlist; # список процессов (расширенный вариант)
mysql> exit # выход из режима mysql
# Сохранить дамп SQL-запросов в файл:
sudo mysql -e 'show full processlist;' > debug_mysql_test999.txt
# ! ПЕРЕЗАГРУЗКА MYSQL
sudo systemctl restart mysqld
================================================================================
# ЧАСТО ИСПОЛЬЗУЕМЫЕ КОМАНДЫ
================================================================================
mysql> SHOW DATABASES; — показать все базы данных
mysql> USE database; — переключится на базу database
mysql> describe * from myDB; — получить описание по всем таблицам
mysql> describe table1; — посмотреть структуру таблицы table1
mysql> SELECT * FROM table; — получить значение полей из таблицы
mysql> SELECT * FROM table /G; — получить значение полей из таблицы с разбивкой по строкам (так удобнее)
================================================================================
# ЗАПИСЬ ДАННЫХ В ТАБЛИЦУ
================================================================================
mysql> USE mytable; - выбор таблицы, с которой будем работать
mysql> INSERT INTO mytable VALUES ('17','text','site.ru'); - Добавление поля с записью в таблицу
================================================================================
# БЭКАПЫ БАЗ ДАННЫХ
================================================================================
mysqldump -uDBUSER -pDBPASS DBNAME > DBNAME.sql - выгрузка в файл
mysql -uDBUSER -pDBPASS DBNAME < DBNAME.sql - заливка в базу из файла
# DBNAME > DBNAME.sql - означает из базы в файл (стрелка ">")
# DBNAME < DBNAME.sql - означает из файла в базу (стрелка ">")
# -u, -p - префиксы ключи (пользователь и пароль)
# DBNAME - Имя БД
# DBUSER - Пользователь БД
# DBPASS - Пароль БД
# DBNAME.sql - файл бэкапа базы данных (можно добавить еще дату создания)