본문으로 바로 가기

데이터베이스

MyEMS에 대한 데이터베이스 스키마와 스크립트를 설치합니다.

선행 조건

MyEMS는 다음과 같은 MySQL 호환 데이터베이스 서버와 함께 작동합니다 :

MySQL 8.0 (64비트) 이상

MariaDB 10.5 (64비트) 이상

SingleStore 7.0 이상

GoldenDB 2.0 (64비트) 이상

OceanBase 3.2 (64비트) 이상

배포

MySQL 명령줄에서 다음 스크립트를 실행하거나, MySQL Workbench, Navicat, DBeaver, phpMyAdmin 등 다른 MySQL 클라이언트 도구에서 실행합니다.

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';
MySQL 8.0 이전 버전에서 COLLATE 변경 방법
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" 오류 수정 방법

mysqld 섹션 아래의 my.cnf 또는 my.ini 파일(일반적으로 /etc/mysql/에 있음)을 변경하고 다음을 설정합니다:

max_allowed_packet=100M

또는 동일한 서버에 연결된 MySQL 콘솔에서 다음 명령을 실행할 수 있습니다:

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

프로덕션 환경에서는 Docker 컨테이너에 데이터베이스를 설치하지 마십시오.