Przejdź do głównej zawartości

Baza Danych

Instalacja schematu i skryptów bazy danych dla MyEMS.

Wymagania wstępne

MyEMS współpracuje z następującymi serwerami baz danych zgodnymi z MySQL:

MySQL 8.0 (64bit) lub nowszy

MariaDB 10.5 (64bit) lub nowszy

SingleStore 7.0 lub nowszy

Wdrożenie

Wykonaj poniższe skrypty w wierszu poleceń MySQL lub za pomocą innych narzędzi klienta MySQL, takich jak MySQL Workbench, Navicat, DBeaver, phpMyAdmin itp.

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

Dane demonstracyjne są opcjonalne. Aby wstawić dane demonstracyjne, wykonaj poniższe skrypty:

cd ~/myems/database/demo-cn
mysql -u root -p < myems_system_db.sql
Jak naprawić błąd MySQL 'access denied for user' (odmowa dostępu dla użytkownika)

Dodaj użytkownika z dostępem zdalnym:

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';
Jak zmienić COLLATION dla serwera MySQL w wersji przed 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
Jak naprawić błąd MySQL "a packet bigger than 'max_allowed_packet' bytes" (pakiet większy niż 'max_allowed_packet' bajtów)

Zmodyfikuj plik my.cnf lub my.ini (zazwyczaj znajduje się w /etc/mysql/) w sekcji mysqld i ustaw:

max_allowed_packet=100M

lub możesz uruchomić te polecenia w konsoli MySQL połączonej z tym samym serwerem:

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

Ostrzeżenie

Nie instaluj bazy danych w kontenerze Docker w środowisku produkcyjnym