Ga naar de hoofdinhoud

Database

Installeer het databaseschema en de scripts voor MyEMS.

Vereisten

MyEMS werkt met de volgende MySQL-compatibele databaseservers :

MySQL 8.0 (64-bit) of nieuwer

MariaDB 10.5 (64-bit) of nieuwer

SingleStore 7.0 of nieuwer

GoldenDB 2.0 (64-bit) of nieuwer

OceanBase 3.2 (64-bit) of nieuwer

Deployment

Execute the following scripts in MySQL commandline, or execute in other MySQL client tools such as MySQL Workbench, Navicat, DBaver, phpMyAdmin, etc.

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

De demogegevens zijn optioneel. Om demogegevens in te voegen, voer je de volgende scripts uit:

cd ~/myems/database/demo-cn
mysql -u root -p < myems_system_db.sql
Hoe los je MySQL-fout 'access denied for user' op

Voeg een gebruiker toe voor externe toegang

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';
Hoe wijzig je COLLATE voor MySQL-server vóór versie 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
Hoe los je MySQL-fout "a packet bigger than 'max_allowed_packet' bytes" op

Wijzig het my.cnf- of my.ini-bestand (meestal te vinden in /etc/mysql/) onder de mysqld-sectie en stel in:

max_allowed_packet=100M

of je kunt deze commando's uitvoeren in een MySQL-console die met dezelfde server is verbonden:

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

Voorzichtigheid

Installeer de database niet in een Docker-container voor een productieomgeving