11:58
Работа с mysql — Лисья нора
§ Вывести размеры таблиц в базе
SELECT table_name, data_length + index_length AS size FROM information_schema.TABLES WHERE table_schema = "[db]";SELECT table_name, ROUND(((data_length + index_length) / 1024 / 1024 / 1024), 2) AS size FROM information_schema.TABLES WHERE table_schema = "[db]" ORDER BY size ASC;
§ Полезные команды
Переместить колонкуALTER TABLE tablename MODIFY COLUMN field_before_name VARCHAR(50) AFTER field_after;§ Управление БД MySQL
Назначение всех привилегий на пользователяGRANT ALL PRIVILEGES ON database.* TO 'username'@'localhost'; GRANT ALL PRIVILEGES ON database.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';Создать базу данных в UTF8
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;Отключить STRICT MODE, чтобы можно было выполнять GROUP BY по неагрегированным
SET GLOBAL SQL_MODE = '';Удалить правила для создания паролей
SET GLOBAL validate_password_special_char_count = 0; SET GLOBAL validate_password_length = 0; SET GLOBAL validate_password_policy = 'LOW'; SET GLOBAL validate_password_mixed_case_count = 0; SET GLOBAL validate_password_length = 0;Полная информация по таблице
SELECT * FROM information_schema.TABLES WHERE table_schema = "[db]" AND table_name = '[table]'\G-
ENGINE- Используемый движок -
TABLE_ROWS- Количество строк -
AVG_ROW_LENGTH- Средняя длина строк в байтах -
DATA_LENGTH- Размер данных -
INDEX_LENGTH- Размер индексов -
DATA_FREE- Количество свободных не фрагментированных байтов -
TABLE_COLLATION- Кодировка таблицы -
CREATE_TIME- Создание таблицы -
UPDATE_TIME- Обновление -
CHECK_TIME- Дата последней проверки
§ Сброс пароля Mariadb
systemctl stop mariadb
mysqld_safe --skip-grant-tables --skip-networking
mysql -u root
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');§ Синтаксис функции GROUP_CONCAT
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])