ข้ามไปยังเนื้อหาหลัก

database


ฐานข้อมูล

ติดตั้งโครงสร้างฐานข้อมูลและสคริปต์สำหรับ MyEMS

ข้อกำหนดเบื้องต้น

MyEMS ทำงานร่วมกับเซิร์ฟเวอร์ฐานข้อมูลที่เข้ากันได้กับ MySQL ดังต่อไปนี้

MySQL 8.0 (64bit) หรือใหม่กว่า

MariaDB 10.5 (64bit) หรือใหม่กว่า

SingleStore 7.0 หรือใหม่กว่า

การติดตั้ง

ดำเนินการสคริปต์ต่อไปนี้ใน commandline ของ MySQL หรือดำเนินการในเครื่องมือไคลเอนต์ MySQL อื่น ๆ เช่น MySQL Workbench, Navicat, DBaver, 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 สำหรับสภาพแวดล้อมการทำงานจริง