Практические моменты касательно работы с БД КлипБукета.
Создание и удаление БД
Перед установкой КлипБукета необходимо сначала создать БД и назначить ей пользователя с правами доступа. Коннектимся к mysql: mysql -uroot -p и сначала создаем юзера с паролем:
CREATE USER 'yurtube5'@'localhost' IDENTIFIED BY '*********';
Затем создаем БД, даем на нее юзеру права:
CREATE DATABASE yurtube5;
GRANT ALL PRIVILEGES ON yurtube5.* TO 'yurtube'@'localhost';
FLUSH PRIVILEGES;
Смотрим что получилось:
SHOW DATABASES;
Удаляем БД, если надо:
drop database yurtube5;
Бекап и копирование БД
Текущее состояние БД можно задампить:
mysqldump -uroot -p yurtube5 > yurtube5_8-03-2024.sql
А затем залить заново (перед заливкой удаляем БД, создаем заново, даем права):
mysqld -uroot -p yurtube5 < yurtube5_8-03-2024.sql
Для разработки надежнее работать с копией актуальной БД. Для этого сначала создаем ее:
CREATE DATABASE yurtube5dev;
GRANT ALL PRIVILEGES ON yurtube5dev.* TO 'yurtube'@'localhost';
FLUSH PRIVILEGES;
Затем заливаем в нее дамп актуальной БД:
mysqld -uroot -p yurtube5dev < yurtube5_8-03-2024.sql
В includes/config.php меняем имя БД на имя копии и проверяем движок.
Удаление добавленного языка
Сначала выясняем каков ИД интересующего языка:
USE yurtube5dev;
SELECT language_id,language_name FROM cb_languages;
Далее зная language_id (допустим, тут он 5) удаляем все итемсы и сам язык:
DELETE from cb_languages_translations WHERE language_id=5;
DELETE from cb_languages WHERE language_id=5;
Или даже так (последний из добавленных языков имеет максимальный language_id):
DELETE from cb_languages_translations WHERE language_id=(SELECT MAX(language_id) from cb_languages);
DELETE from cb_languages WHERE language_id=(SELECT MAX(language_id) from cb_languages);