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

database


ฐานข้อมูล

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

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

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

MySQL 8.0 (64 บิต) หรือใหม่กว่า

MariaDB 10.5 (64 บิต) หรือใหม่กว่า

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

GoldenDB 2.0 (64 บิต) หรือใหม่กว่า

OceanBase 3.2 (64 บิต) หรือใหม่กว่า

การติดตั้ง

ดำเนินการสคริปต์ต่อไปนี้ใน 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 สำหรับสภาพแวดล้อมการทำงานจริง