Перейти к основному контенту

База данных

Установка схемы и скриптов базы данных для MyEMS.

Предварительные требования

MyEMS совместима с следующими серверами баз данных, поддерживающими протокол MySQL:

MySQL 8.0 (64-битная версия) или новее

MariaDB 10.5 (64-битная версия) или новее

SingleStore 7.0 или новее

Развертывание

Выполните следующие скрипты в командной строке MySQL или используя другие клиентские инструменты MySQL, такие как MySQL Workbench, Navicat, DBeaver, phpMyAdmin и т.д.:

cd ~/myems/database/install
mysql -u root -p < myems_billing_db.sql
mysql -u root -p < myems_carbon_db.sql
mysql -u root -p < myems_energy_baseline_db.sql
mysql -u root -p < myems_energy_db.sql
mysql -u root -p < myems_energy_model_db.sql
mysql -u root -p < myems_energy_plan_db.sql
mysql -u root -p < myems_energy_prediction_db.sql
mysql -u root -p < myems_fdd_db.sql
mysql -u root -p < myems_historical_db.sql
mysql -u root -p < myems_production_db.sql
mysql -u root -p < myems_reporting_db.sql
mysql -u root -p < myems_system_db.sql
mysql -u root -p < myems_user_db.sql

Данные для демонстрации являются опциональными. Чтобы добавить демонстрационные данные, выполните следующие скрипты:

cd ~/myems/database/demo-cn
mysql -u root -p < myems_system_db.sql
Как исправить ошибку MySQL «access denied for user» (доступ запрещен для пользователя)

Добавление пользователя для удоступа из сети:

sudo mysql -u root -p

mysql>

CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';

mysql>

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

mysql>

FLUSH PRIVILEGES;

mysql>

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
Как изменить COLLATE для сервера MySQL версии старше 8.0
sudo nano /etc/mysql/my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
Как исправить ошибку MySQL «a packet bigger than 'max_allowed_packet' bytes» (пакет превышает максимально допустимый размер)

Отредактируйте файл my.cnf или my.ini (обычно находится в каталоге /etc/mysql/) в разделе mysqld и добавьте:

max_allowed_packet=100M

или выполните эти команды в консоли MySQL, подключенной к тому же серверу:

set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;

Предупреждение

Не устанавливайте базу данных в контейнер Docker для использования в производственной среде