Настройка базы данных
Для работы Pimcore требуется стандартная база данных MySQL. Единственное, в чем вам необходимо убедиться, — это в том, что база данных использует кодировку utf8mb4.
Если вы создаете новую базу данных, просто установите набор символов (character set) на utf8mb4.
Примечание: Вам необходимо создать базу данных вручную, прежде чем вы сможете продолжить работу с веб-инсталятором, который автоматически создаст необходимую схему таблиц для Pimcore.
Команда для создания новой базы данных
mysql -u root -p -e "CREATE DATABASE project_database CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
Права доступа, необходимые для Pimcore
Pimcore требуются полные права (ALL PRIVILEGES) на уровне базы данных. Вы можете создать пользователя с необходимыми правами с помощью следующих команд:
CREATE USER 'project_user'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL ON `project_database`.* TO 'project_user'@'localhost';
Конфигурация сервера базы данных (Опционально)
Вы можете принудительно установить определенные параметры конфигурации, разместив файл pimcore.cnf со следующим содержимым в директории конфигурации (например, /etc/mysql/conf.d/). Обратитесь к руководству по конфигурации сервера, соответствующему вашей среде, чтобы определить точное расположение директории конфигурации сервера.
# Конфигурация сервера MySQL для Pimcore.
# @See https://dev.mysql.com/doc/refman/8.0/en/option-files.html
# @See https://pimcore.com/docs/pimcore/11.0/Development_Documentation/Installation_and_Upgrade/System_Setup_and_Hosting/DB_Setup.html
# Применяется к любому клиенту, подключающемуся к этому серверу
[client]
default-character-set=utf8mb4
# Применяется к консольному приложению mysql cli
[mysql]
default-character-set=utf8mb4
# Применяется к серверу mysql
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init-connect='SET NAMES utf8mb4'
lower_case_table_names=1
Установка параметра lower_case_table_names=1 гарантирует, что таблицы для классов Pimcore будут создаваться в нижнем регистре, даже если их имена классов содержат заглавные буквы. Начиная с MySQL 8, вы больше не можете изменить опцию lower_case_table_names после того, как директория данных (data directory) была инициализирована. Если директория уже была инициализирована с другим значением lower_case_table_names, MySQL не сможет запуститься (выдав ошибку Different lower_case_table_names settings for server and data dictionary). Чтобы это исправить, поместите файл pimcore.cnf в директорию config, удалите директорию данных MySQL и запустите mysqld --initialize. Это действие удалит все базы данных, поэтому сделайте резервную копию существующих баз с помощью mysqldump перед удалением директории данных.
rm -rf /var/lib/mysql
mkdir /var/lib/mysql
chown mysql:mysql /var/lib/mysql
mysqld --initialize
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.