Tip Dan Trik Profesional MySQL 5 PDF
Tip Dan Trik Profesional MySQL 5 PDF
@echo off
title BACKUP DATABASE NOW
color b
95
echo .
echo +-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
+-+
echo *
echo RUNNING SCHEDULED JOB FOR MySQL 5 BACKUP ON
WINDOWS
echo .
echo AUTHOR: Tomy
echo .
echo %DATE:~7,2%-%DATE:~4,2%-%DATE:~10,4%
echo +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-
+-+
echo .
echo .
echo Current Time is:
echo ~
time /t
echo .
echo .
echo [ ]
pause
IF NOT EXIST C:\BACKUP. (
mkdir C:\BACKUP.
echo Directory is OK
echo Continuing process
echo ..
)
96
Misalkan Anda melakukan backup database db1 pada hari Senin
pada jam 2 sore dengan menjalankan skrip di atas, maka dengan
otomatis Anda telah mem-backup semua data dari dalam [db1]
MySQL ke suatu file yang bernama backup.Mon.sql. String yang
berupa % DATE:~0,3% artinya menjalankan tanggal DOS dan
menguraikan tiga karakter yang pertama.
Jika Anda ingin menggunakan format YYYYMMDD, gunakan
%DATE:~10,4%%DATE:~7,2%%DATE:~4,2%. Keuntungan penggu-
naan nama hari pada nama file backup tersebut adalah bahwa Anda
nantinya akan mempunyai tujuh file backup.
Setelah menjalankan perintah AT melalui Command Prompt, Anda
dapat melihat file job yang telah dibuat melalui Control Panel, lalu
pilih Scheduled Task dan Anda akan melihat sebuah file yang
bernama At1.job yang siap melakukan backup sesuai dengan waktu
yang ditetapkan di atas.
97
atau
c:\mysql db1 < c:\BACKUP\backup.Mon.sql
98
DUMPFILE, MySQL akan menuliskan data yang di-backup ke file
backup dalam sebuah baris tanpa terminasi kolom atau baris, dan
tanpa melakukan proses escape karakter.
`harga@`,jumlah,totpembelian,totdisc,totpembelian_disc,totppn,
netto);
99
Gambar 6.4 Restorasi Data ke dalam Tabel Pembelian
100
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(id, lastname, firstname, zip);
SELECT * FROM test;
Output:
id firstname lastname zip
----- --------- -------- ------
1 russell kurt 45678
2 tim worth 45687
3 sherly ridd 45698
Output:
id firstname lastname zip
----- --------- -------- ------
1 russell kurt 10
2 tim worth 20
3 sherly ridd 30
101
6.5 Meng-update Kolom Menggunakan
LOAD DATA INFILE dan UPDATE
Mengacu pada contoh di atas, misalkan file backup.txt mempunyai
isi seperti berikut:
backup.txt
1,10
2,20
3,30
kemudian pada tabel test berisi data seperti di bawah ini:
SELECT * FROM test;
Output:
id firstname lastname zip
---- ---------- -------- ------
1 russell kurt 45678
2 tim worth 45687
3 sherly ridd 45698
102
Ouput:
id firstname lastname zip
----- --------- ------ -----
1 russell kurt 10
2 tim worth 20
3 sherly ridd 30
103
Definisi procedure backup trigger di atas menggunakan pernyataan
INTO OUTFILE. File backup akan diciptakan pada server host. Anda
dapat menggunakan nama file yang sesuai dengan keinginan Anda.
Agar 100% aman, periksa definisi dalam file .sql, dan tentunya Anda
bisa membuat copy-an file tersebut.
Untuk menggunakan stored procedure backuptrigger tersebut,
caranya cukup dengan mengetikkan:
Call backuptrigger();
DELIMITER $$
104
/*-- mengaktifkan variabel global event_scheduler --*/
Set global event_scheduler = 1;
/*-- memberikan hak kepada user1 untuk mengakses database 555-
-*/
Grant event on `555`.* to user1;
set @r=0;
set @maks=(select max(id)from temp);
while @r <= @maks do
set table_name2=(select foundtable from temp where id=@r);
If @r>0 then
Set @q0=concat('drop table if exists
','`',newdb,'`','.',table_name2,'backup',';');
Set @q1=concat('create table if not exists
','`',newdb,'`','.',table_name2,'backup',' ','as select * from
','`',existdb,'`','.',table_name2,';');
Set @q2=concat('alter table
','`',newdb,'`','.',table_name2,'backup','
','engine=InnoDB;');
Prepare stmt from @q0;
Execute stmt;
Prepare stmt from @q1;
Execute stmt;
Prepare stmt from @q2;
Execute stmt;
End if;
set @r=@r+1;
end while;
If @r=0 then
Leave scan;
end if;
End loop scan;
drop table if exists temp;
END$$
DELIMITER ;
105
Cara menggunakan speventbackup adalah dengan menginputkan
2 parameter yang terdiri atas existdb(nama database sumber atau
yang akan di-backup) dan newdb(nama database sebagai backup).
Contoh:
Call speventbackup('555','tombackup')
Nama dari event scheduler pada contoh ini adalah eventbackup dan
eventbackup secara otomatis akan dijalankan oleh server MySQL
setiap hari pada jam 14:00:00(jam:menit:detik). Pada jam 14:00:00
setiap harinya, Anda akan mendapatkan database yang telah di-
backup secara otomatis tersebut seperti yang ditunjukkan pada
gambar berikut ini.
106
Nama tabel hasil backup otomatis tersebut akan berekstensi backup
pada akhir dari nama tabel sumber. Anda dapat memodifikasi nama
tabel tersebut menggunakan speventbackup yang telah dikemukakan
di atas.
107
"While we may need a balanced budget to discipline our
politicians, what we need for export growth is a balanced
economy.",
"Michael Armstrong",
"U.S. business executive.",
"Speech");
Contoh sebuah file Excel dari output yang dihasilkan adalah seperti
gambar di bawah ini.
108