database
sidebar_position: 1
Veritabanı
MyEMS için veritabanı şemasını ve komut dosyalarını kurun.
Önkoşullar
MyEMS aşağıdaki MySQL uyumlu veritabanı sunucuları ile çalışır.
MariaDB 10.5 (64bit) veya üzeri
Dağıtım
Aşağıdaki komut dosyalarını MySQL komut satırında çalıştırın veya MySQL Workbench, Navicat, DBaver, phpMyAdmin gibi diğer MySQL istemci araçlarında çalıştırın.
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
Demo verileri isteğe bağlıdır. Demo verilerini eklemek için aşağıdaki komut dosyalarını çalıştırın,
cd ~/myems/database/demo-cn
mysql -u root -p < myems_system_db.sql
:::ipucu MySQL 'kullanıcı için erişim reddedildi' hatası nasıl düzeltilir
Uzaktan Erişim Kullanıcısı Ekle
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';
:::
:::ipucu MySQL 8.0'dan önceki sürümler için MySQL sunucusunun COLLATE'ini nasıl değiştirebilirim?
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
:::
:::ipucu MySQL "max_allowed_packet baytından daha büyük bir paket" hatası nasıl düzeltilir
my.cnf veya my.ini dosyasını (genellikle /etc/mysql/ altında bulunur) mysqld bölümünde değiştirin ve şunu ayarlayın:
max_allowed_packet=100M
veya aynı sunucuya bağlı bir MySQL konsolunda şu komutları çalıştırabilirsiniz:
set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;
:::
Üretim ortamı için veritabanını Docker konteynerine kurmayın