Showing posts with label mysql. Show all posts
Showing posts with label mysql. Show all posts

Wednesday, 23 July 2025

Ekspor Impor mysql satu hari atau dalam rentang

 $ ./make_mysqldump_auto.sh "2025-07-23" "Asia/Makassar"

 
# Backup untuk tanggal 2025-07-23 (zona Asia/Makassar)

1) suratizinguru
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="waktuinput >= 1753200000 AND waktuinput <= 1753286399" \
moodle2 mdl_local_jurnalmengajar_suratizinguru > /var/backup/suratizinguru_2307.sql

============
2) suratizin
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="timecreated >= 1753200000 AND timecreated <= 1753286399" \
moodle2 mdl_local_jurnalmengajar_suratizin > /var/backup/suratizin_2307.sql

============
3) jurnalmengajar
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="timecreated >= 1753200000 AND timecreated <= 1753286399" \
moodle2 mdl_local_jurnalmengajar > /var/backup/jurnal_2307.sql


$ ./make_mysqldump_auto.sh "2025-07-24" "2025-07-31" "Asia/Makassar"
# Backup untuk rentang 2025-07-24 s/d 2025-07-31 (zona Asia/Makassar)

1) suratizinguru
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="waktuinput >= 1753286400 AND waktuinput <= 1753977599" \
moodle2 mdl_local_jurnalmengajar_suratizinguru > /var/backup/suratizinguru_2407_3107.sql

============
2) suratizin
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="timecreated >= 1753286400 AND timecreated <= 1753977599" \
moodle2 mdl_local_jurnalmengajar_suratizin > /var/backup/suratizin_2407_3107.sql

============
3) jurnalmengajar
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="timecreated >= 1753286400 AND timecreated <= 1753977599" \
moodle2 mdl_local_jurnalmengajar > /var/backup/jurnal_2407_3107.sql

Ekspor Impor mysql data dalam rentang hari

 Jalankan

./make_mysqldump_range.sh "2025-07-24" "2025-07-31" "Asia/Makassar"

# Untuk rentang 2025-07-24 s/d 2025-07-31 (zona Asia/Makassar)

1) suratizinguru
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="waktuinput >= 1753286400 AND waktuinput <= 1753977599" \
moodle2 mdl_local_jurnalmengajar_suratizinguru > /var/backup/suratizinguru_2407_3107.sql

============
2) suratizin
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="timecreated >= 1753286400 AND timecreated <= 1753977599" \
moodle2 mdl_local_jurnalmengajar_suratizin > /var/backup/suratizin_2407_3107.sql

============
3) jurnalmengajar
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="timecreated >= 1753286400 AND timecreated <= 1753977599" \
moodle2 mdl_local_jurnalmengajar > /var/backup/jurnal_2407_3107.sql
 

Ekspor Impor data mysql per hari

 jalankan di terminal ubuntu, ubah tanggal

./make_mysqldump_day.sh 2025-07-24 Asia/Makassar

########################
########################

# Untuk tanggal 2025-07-23 (zona Asia/Makassar)

1) suratizinguru
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="waktuinput >= 1753200000 AND waktuinput <= 1753286399" \
moodle2 mdl_local_jurnalmengajar_suratizinguru > /var/backup/suratizinguru_2307.sql

============
2) suratizin
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="timecreated >= 1753200000 AND timecreated <= 1753286399" \
moodle2 mdl_local_jurnalmengajar_suratizin > /var/backup/suratizin_2307.sql

============
3) jurnalmengajar
mysqldump -u root -p --no-create-info --skip-add-locks --skip-comments \
--where="timecreated >= 1753200000 AND timecreated <= 1753286399" \
moodle2 mdl_local_jurnalmengajar > /var/backup/jurnal_2307.sql

######## CEK #########
date -d @1753286399
######################

======================
kirim ke server guru

scp /var/backup/suratizinguru_2307.sql root@36.90.102.233:/var/backup/
scp /var/backup/suratizin_2307.sql root@36.90.102.233:/var/backup/
scp /var/backup/jurnal_2307.sql root@36.90.102.233:/var/backup/

=========================
jalankan di server guru
mysql -u root -p moodle2 < /var/backup/suratizinguru_2307.sql
mysql -u root -p moodle2 < /var/backup/suratizin_2307.sql
mysql -u root -p moodle2 < /var/backup/jurnal_2307.sql



Tuesday, 22 July 2025

Perintah ini untuk melihat kolom apa yang tersedia mdl_local_jurnalmengajar

DESCRIBE mdl_local_jurnalmengajar;

ini untuk melihat kolom apa yang tersedia:

 

 [moodle2]> DESCRIBE mdl_local_jurnalmengajar;
+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| id            | bigint(10)   | NO   | PRI | NULL    | auto_increment |
| userid        | bigint(10)   | NO   | MUL | NULL    |                |
| nomor         | bigint(10)   | NO   |     | NULL    |                |
| kelas         | varchar(20)  | NO   |     |         |                |
| jamke         | varchar(10)  | YES  |     | NULL    |                |
| matapelajaran | varchar(100) | NO   |     |         |                |
| materi        | longtext     | NO   |     | NULL    |                |
| aktivitas     | longtext     | NO   |     | NULL    |                |
| absen         | longtext     | YES  |     | NULL    |                |
| keterangan    | longtext     | YES  |     | NULL    |                |
| timecreated   | bigint(10)   | NO   |     | 0       |                |
+---------------+--------------+------+-----+---------+----------------+
11 rows in set (0.001 sec)

Monday, 21 July 2025

Perintah Ekspor Semua Tabel 1 Hari Terakhir

 

Sempurna, Guru Duan 🙌

Tabel mdl_local_jurnalmengajar_suratizinguru (Surat Izin Guru) menggunakan kolom waktuinput sebagai timestamp, jadi kita akan memakainya untuk ekspor data 1 hari terakhir.


✅ Rekap Perintah Ekspor Semua Tabel (1 Hari Terakhir)

1. Jurnal Mengajar

mysqldump -u root -p moodle2 mdl_local_jurnalmengajar \
--where="timecreated >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY))" \
> jurnal_mengajar_1hari.sql

2. Surat Izin Siswa

mysqldump -u root -p moodle2 mdl_local_jurnalmengajar_suratizin \
--where="timecreated >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY))" \
> suratizin_siswa_1hari.sql

3. Surat Izin Guru

mysqldump -u root -p moodle2 mdl_local_jurnalmengajar_suratizinguru \
--where="waktuinput >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY))" \
> suratizin_guru_1hari.sql

🚀 Impor ke Server Guru

Setelah file .sql dipindah ke server guru, jalankan:

mysql -u root -p moodle < jurnal_mengajar_1hari.sql
mysql -u root -p moodle < suratizin_siswa_1hari.sql
mysql -u root -p moodle < suratizin_guru_1hari.sql

⚠️ Catatan Penting

  1. Hindari ID konflik: Kalau data dari server lab dan guru saling bertumpuk, edit file .sql dulu → ganti nilai kolom id jadi NULL, atau hapus dari INSERT agar pakai AUTO_INCREMENT.

  2. Pastikan userid di server guru valid, kalau tidak akan tampil kosong di laporan karena referensi ke mdl_user tidak cocok.


Kalau Guru Duan ingin, saya bisa bantu buat skrip otomatis (Bash) agar bisa dijalankan berkala (misal: cron). Tinggal bilang saja ya. 💪

Table Jurnal Mengajar

 > SHOW TABLES LIKE '%jurnalmengajar%';
+-------------------------------------------+
| Tables_in_moodle2 (%jurnalmengajar%)      |
+-------------------------------------------+
| mdl_local_jurnalmengajar                  |
| mdl_local_jurnalmengajar_beban            |
| mdl_local_jurnalmengajar_suratizin        |
| mdl_local_jurnalmengajar_suratizin_backup |
| mdl_local_jurnalmengajar_suratizinguru    |
+-------------------------------------------+
5 rows in set (0.003 sec)

Terima kasih Guru Duan. Dari hasil tersebut, sekarang kita tahu tabel-tabel yang digunakan plugin jurnalmengajar adalah:

  1. mdl_local_jurnalmengajarJurnal Mengajar

  2. mdl_local_jurnalmengajar_suratizinSurat Izin Siswa

  3. mdl_local_jurnalmengajar_suratizinguruSurat Izin Guru

  4. mdl_local_jurnalmengajar_beban → Data beban jam guru (biasanya statis)

  5. mdl_local_jurnalmengajar_suratizin_backup → Backup dari surat izin siswa (tidak perlu ikut diekspor)


🔜 Ayo kita lanjutkan dengan:

✅ 1. Tampilkan struktur suratizin (siswa):

SHOW CREATE TABLE mdl_local_jurnalmengajar_suratizin\G

✅ 2. Tampilkan struktur suratizinguru (guru):

SHOW CREATE TABLE mdl_local_jurnalmengajar_suratizinguru\G

Setelah Restore sql

 Karena tidak pakai Docker, maka proses restore dilakukan langsung di sistem host (Debian atau Ubuntu), dan langkahnya akan sedikit berbeda.


✅ Ringkasan kondisi saat ini

  • Database moodle2 sudah direstore.

  • moodle-code (folder Moodle)belum direstore.

  • moodledata (data file pengguna)belum direstore.

  • Entry wwwroot di tabel mdl_configbelum ada.


🔧 Langkah Restore Tanpa Docker

1. Restore folder Moodle codebase

Misalnya file backup ada di /var/backup/moodle-code.tar.gz dan ingin meletakkannya di /var/www/html/moodle:

# Buat folder target jika belum ada
sudo mkdir -p /var/www/html/moodle

# Pindah ke folder target
cd /var/www/html/moodle

# Ekstrak backup
sudo tar -xvzf /var/backup/moodle-code.tar.gz -C /var/www/html/moodle --strip-components=1

Sesuaikan nama file dan path jika berbeda.


2. Restore folder moodledata

Misalnya file backup ada di /var/backup/moodledata.tar.gz dan ingin meletakkannya di /var/moodledata:

sudo mkdir -p /var/moodledata
sudo tar -xvzf /var/backup/moodledata.tar.gz -C /var/moodledata

Setelah itu, ubah permission agar bisa diakses oleh webserver (misalnya www-data):

sudo chown -R www-data:www-data /var/moodledata
sudo chmod -R 755 /var/moodledata

3. Periksa config.php

Pastikan config.php yang berada di /var/www/html/moodle/config.php sudah sesuai, terutama bagian ini:

$CFG->wwwroot   = 'http://sim.sman2kandangan.sch.id'; // Sesuaikan
$CFG->dataroot  = '/var/moodledata';
$CFG->dbname    = 'moodle2';
$CFG->dbuser    = 'root';
$CFG->dbpass    = 'isi_password_mysql';

Kalau file config.php belum ada, bisa dibuat manual dari config-dist.php.


4. Masukkan nilai wwwroot ke database

Masuk ke MySQL:

mysql -u root -p moodle2

Jalankan:

INSERT INTO mdl_config (name, value) VALUES ('wwwroot', 'http://sim.sman2kandangan.sch.id');

Ganti URL dengan yang benar sesuai domain Guru Duan.


🚀 Terakhir: Akses di browser

Setelah semua di atas selesai:

  • Buka: http://sim.sman2kandangan.sch.id

  • Moodle harus langsung menampilkan halaman login atau halaman depan jika restore sukses.

Kalau muncul error atau blank page, cukup kirim isi lognya (biasanya di /var/log/nginx/error.log atau php-fpm.log), saya bantu cek.


Saturday, 19 July 2025

Perintah sql milih user aktif moodle

 SELECT id, username, firstname, lastname
FROM mdl_user
WHERE deleted = 0
  AND suspended = 0
  AND confirmed = 1
  AND username <> 'guest';
785 rows in set (0.004 sec)



SELECT id, username, firstname, lastname
FROM mdl_user
WHERE deleted = 0
  AND suspended = 0
  AND confirmed = 1
  AND username <> 'guest'
INTO OUTFILE '/tmp/user_Active2025.csv'
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n';

Tuesday, 15 July 2025

Hapus Entry di database mariadb mysql

batu saya hapus entry |  83 |   1149 |      62 |            39 | Izin keluae                           | uji coba           | 2025-07-11 11:10:53 |

=================== 

Baik, Guru Duan. Untuk menghapus entri dengan id = 83 di tabel mdl_local_jurnalmengajar_suratizin, jalankan perintah SQL berikut di MySQL:

DELETE FROM mdl_local_jurnalmengajar_suratizin WHERE id = 83;

Jika ingin memverifikasi dulu entri yang akan dihapus, jalankan:

SELECT * FROM mdl_local_jurnalmengajar_suratizin WHERE id = 83;

⚠️ Catatan:

Karena Guru sudah melakukan backup sebelumnya (mdl_local_jurnalmengajar_suratizin_backup), tidak perlu khawatir jika nanti perlu mengembalikan data ini.

Kalau sudah dieksekusi dan ingin konfirmasi bahwa entri terhapus, gunakan:

SELECT * FROM mdl_local_jurnalmengajar_suratizin WHERE id = 83;

Hasilnya harus:

Empty set (0.000 sec)

Silakan kabari kalau ingin hapus entri lain juga.

Friday, 11 July 2025

Capability Admin Sekolah

 mysql -u root -p

USE moodle2;
SELECT id, name, shortname FROM mdl_role WHERE shortname = 'adminsekolah';

cek capability
SELECT capability FROM mdl_role_capabilities
WHERE roleid = (SELECT id FROM mdl_role WHERE shortname = 'adminsekolah');

MariaDB [moodle2]> SELECT capability FROM mdl_role_capabilities
    -> WHERE roleid = (SELECT id FROM mdl_role WHERE shortname = 'adminsekolah');
+---------------------------------+
| capability                      |
+---------------------------------+
| enrol/manual:enrol              |
| enrol/manual:manage             |
| enrol/manual:unenrol            |
| moodle/category:manage          |
| moodle/course:changecategory    |
| moodle/course:changefullname    |
| moodle/course:changeidnumber    |
| moodle/course:changeshortname   |
| moodle/course:create            |
| moodle/course:manageactivities  |
| moodle/course:update            |
| moodle/course:view              |
| moodle/course:viewhiddencourses |
| moodle/course:visibility        |
| moodle/grade:edit               |
| moodle/grade:viewall            |
| moodle/site:viewreports         |
| moodle/user:changeownpassword   |
| moodle/user:create              |
| moodle/user:editprofile         |
| moodle/user:update              |
| moodle/user:viewdetails         |
| report/log:viewtoday            |
+---------------------------------+
23 rows in set (0.001 sec)

Wednesday, 21 September 2022

install sampai mysql

 debian login: root


#apt-get update

#apt-get upgrade

#apt-get install nginx

y

 

===============

Setelah proses install webserver selesai, untuk memastikan bahwa apache sudah terinstall dengan baik, buka browser dengan mengetikkan IP server pada URL address, maka akan muncul halaman default Nginx. saya ketikkan ip 192.168.100.10

===============

 #apt-get install mariadb-server mariadb-client

y


#mysql_secure_installation