Rabu, 19 Desember 2012
MySQL Change root Password
MySQL Change root Password
How do I change MySQL root password under Linux, FreeBSD, OpenBSD and UNIX like operating system over ssh / telnet session?
Setting up MySQL password is one of the essential tasks. By default root user is MySQL admin account user. Please note that the Linux / UNIX root account for your operating system and MySQL root are different. They are separate and nothing to do with each other. Sometime your may remove mysql root account and setup admin as mysql super user for security purpose.
mysqladmin command to change root password
If you have never set a root password for MySQL server, the server does not require a password at all for connecting as root. To setup root password for first time, use mysqladmin command at shell prompt as follows:
$ mysqladmin -u root password NEWPASSWORD
However, if you want to change (or update) a root password, then you need to use the following command:
$ mysqladmin -u root -p'oldpassword' password newpass
For example, If the old password is abc, you can set the new password to 123456, enter:
$ mysqladmin -u root -p'abc' password '123456'
Change MySQL password for other users
To change a normal user password you need to type (let us assume you would like to change password for user vivek) the following command:
$ mysqladmin -u vivek -p oldpassword password newpass
Changing MySQL root user password using MySQL sql command
This is another method. MySQL stores username and passwords in user table inside MySQL database. You can directly update password using the following method to update or change password for user vivek:
1) Login to mysql server, type the following command at shell prompt:
$ mysql -u root -p
2) Use mysql database (type command at mysql> prompt):
mysql> use mysql;
3) Change password for user vivek, enter:
mysql> update user set password=PASSWORD("NEWPASSWORD") where User='vivek';
4) Finally, reload the privileges:
mysql> flush privileges;
mysql> quit
The last method can be used with PHP, Python or Perl scripting mysql API.
Kamis, 13 Desember 2012
Perintah untuk tranfer file di linux antar 2 server - sftp
1. sftp username@ip.server.2
2. Masukkan password untuk server 2
3. Setelah masuk, untuk bisa masuk ke direktory yg mau di tuju dengan perintah:
cd /folder/yg/dituju
4. Untuk ambil file dari server 2 ke server 1 perintahnya : get nama.file.yg.mau.diambil
5. Untuk letakkan file dari server 1 ke server 2 perintahnya : put nama.file.ya.mau.ditransfer
6. Selesai
2. Masukkan password untuk server 2
3. Setelah masuk, untuk bisa masuk ke direktory yg mau di tuju dengan perintah:
cd /folder/yg/dituju
4. Untuk ambil file dari server 2 ke server 1 perintahnya : get nama.file.yg.mau.diambil
5. Untuk letakkan file dari server 1 ke server 2 perintahnya : put nama.file.ya.mau.ditransfer
6. Selesai
Selasa, 11 Desember 2012
Eksekusi Perintah Secara Otomatis Dengan Crontab
Eksekusi Perintah Secara Otomatis Dengan Crontab
- Details
- Category: Sytem Linux
- Published on Monday, 15 October 2012 04:06
- Written by Super User
Crond merupakan sebuah daemon yang menjalankan tugas yang telah dijadwalkan berdasarkan input dari perintah crontab. Cron menyelesaikan tugas ini dengan membangunkan dirinya setiap menit dan memeriksa apakah ada cron-job yang harus dijalankannya berdasarkan crontab user. Dan harus diingat bahwa crontab adalah nama untuk daftar cron-job dan nama dari perintah untuk mengedit daftar tersebut.
II. Crontab di Centos
Untuk melihat perintah-perintah apa saja yang digunakan di crontab, tuliskan perintah:
# crontab --help
Pada umumnya, perintah yang sering dipergunakan adalah:
# crontab -e
Digunakan untuk mengedit file crontab.
# crontab -l
Digunakan untuk melihat file crontabIII. Penjadwalan Crontab
Di file crontab ada 7 blok yang dipergunakan apabila kita ingin menjadwalkan sesuatu di dalam linux.
* | * | * | * | * | * | * |
Blok I | Blok II | Blok III | Blok IV | Blok V | Blok VI | Blok VII |
Menunjukkan Menit (0-59) | Menunjukkan Jam (0-23) | Menunjukkan Tanggal (1-31) | Menunjukkan Bulan (1-12) | Menunjukkan Hari (0-6, 0=minggu) | Menunjukkan User (Optional) | Menunjukkan Letak Perintah |
Contoh-contoh crontab:
- 30 05 * * * root rm /var/log/httpd/*
Perintah ini menunjukkan bahwa setiap hari pukul 05.30 pagi, perintah "rm /var/log/httpd/*" akan dieksekusi, yang berarti akan menghapus semua file dalam folder /var/log/httpd
- 30 05 * * * root rm /var/log/httpd/*
Perintah ini menunjukkan bahwa setiap hari pukul 05.30 pagi, perintah "rm /var/log/httpd/*" akan dieksekusi, yang berarti akan menghapus semua file dalam folder /var/log/httpd
- 10 05 01 * * root /bin/sh /etc/script.sh
Perintah ini menunjukkan bahwa setiap tanggal 1 setiap bulannya akan dieksekusi kumpulan perintah pada file "/etc/script.sh"
Perintah ini menunjukkan bahwa setiap tanggal 1 setiap bulannya akan dieksekusi kumpulan perintah pada file "/etc/script.sh"
- 30 0 1 1,6,12 * rm /home/heri/*
Perintah ini menunjukkan bahwa setiap tanggal 1 jam 00.30 pada bulan januari, juni, dan desember akan dihapus file /home/heri/*
Perintah ini menunjukkan bahwa setiap tanggal 1 jam 00.30 pada bulan januari, juni, dan desember akan dihapus file /home/heri/*
- 5,10 0 10 * 1 rm /tmp/*
Perintah ini menunjukkan bahwa setiap jam 0:05 dan 0:10 hari senin pada tanggal 10 setiap bulan akan menghapus file-file yang ada di direktory tmp.
Perintah ini menunjukkan bahwa setiap jam 0:05 dan 0:10 hari senin pada tanggal 10 setiap bulan akan menghapus file-file yang ada di direktory tmp.
V. Lain-lain
1. Tanda * menunjukkan bahwa mengeksekusi perintah pada setiap waktu.
2. Apabila kita ingin menjadwalkan range pada salah satu bagian blok, maka bisa ditulis sebagai berikut:
Setiap tanggal 1,2,5,9 -->1,2,5,9
Setiap 2 jam --> */2 atau 0-23/2
Setiap tanggal 1,2,5,9 -->1,2,5,9
Setiap 2 jam --> */2 atau 0-23/2
3. Untuk blok bulan dan hari bisa ditulis dengan huruf namun hanya harus menggunakan 3 huruf pertama bulan atau hari dan dalam bahasa Inggris.
Contoh untuk bulan: jan,feb
contoh untuk hari : sun,mon
Contoh untuk bulan: jan,feb
contoh untuk hari : sun,mon
4. Blok keenam yang menunjukkan user tidak selalu harus ditulis.
5. Kita bisa membuat log hasil eksekusi crontab dengan cara menulisnya di file crontab
contoh:
30 6 * * 1 PATH/dodol.sh > PATH/dodol.log
Perintah ini menunjukkan bahwa setiap jam 06.30 hari senin akan dieksekusi skrip dodol dan lognya akan di tulis di dodol.log
contoh:
30 6 * * 1 PATH/dodol.sh > PATH/dodol.log
Perintah ini menunjukkan bahwa setiap jam 06.30 hari senin akan dieksekusi skrip dodol dan lognya akan di tulis di dodol.log
Referensi:
www.adminchoice.com
http://adityaperdana.web.id
http://dikamelz.wordpress.com
http://www.catatanlepas.com
http://adityaperdana.web.id
http://dikamelz.wordpress.com
http://www.catatanlepas.com
Jumat, 07 Desember 2012
Install MySQL 5.5 di CentOS 5.x
1. Install CentOS 5.x
2. Download file MySQL 5.5 yang antara lain:
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Embedded 62.4M - OK
MySQL-embedded-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Development Libraries 3.4M - OK
MySQL-devel-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Test Suite 40.4M - OK
MySQL-test-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Compatibility Libraries 5.1M - OK
MySQL-shared-compat-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Client Utilities 17.1M - OK
MySQL-client-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package MySQL Server 52.2M
MySQL-server-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Shared components 1.9M - OK
MySQL-shared-5.5.28-1.rhel5.i386.rpm
3. Jalankan semua package dengan perintah ---> rpm -Uvh namafile.rpm
4. Reboot Server
5. Jalankan perintah ini ----> /usr/bin/mysql_secure_installation
6. Ikuti perintah yang ada
7. Setting /etc/my.cnf menjadi
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#remote
pid-file = /var/run/mysqld/mysqld.pid
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
#bind-address = 10.200.16.17
old_passwords=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
8. Setting Firewall dengan perintah :
/sbin/iptables -I INPUT -p tcp --destination-port 3306 -j ACCEPT
/sbin/iptables -I OUTPUT -p tcp --source-port 3306 -j ACCEPT
9. Simpan settingan iptables
service iptables save
2. Download file MySQL 5.5 yang antara lain:
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Embedded 62.4M - OK
MySQL-embedded-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Development Libraries 3.4M - OK
MySQL-devel-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Test Suite 40.4M - OK
MySQL-test-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Compatibility Libraries 5.1M - OK
MySQL-shared-compat-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Client Utilities 17.1M - OK
MySQL-client-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package MySQL Server 52.2M
MySQL-server-5.5.28-1.rhel5.i386.rpm
Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package Shared components 1.9M - OK
MySQL-shared-5.5.28-1.rhel5.i386.rpm
3. Jalankan semua package dengan perintah ---> rpm -Uvh namafile.rpm
4. Reboot Server
5. Jalankan perintah ini ----> /usr/bin/mysql_secure_installation
6. Ikuti perintah yang ada
7. Setting /etc/my.cnf menjadi
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#remote
pid-file = /var/run/mysqld/mysqld.pid
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
#bind-address = 10.200.16.17
old_passwords=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
8. Setting Firewall dengan perintah :
/sbin/iptables -I INPUT -p tcp --destination-port 3306 -j ACCEPT
/sbin/iptables -I OUTPUT -p tcp --source-port 3306 -j ACCEPT
9. Simpan settingan iptables
service iptables save
Kamis, 08 November 2012
Setting Tanggal Jam di Linux
-----------------------------------------------------------------
*** PERINTAH SETTING TANGGAL JAM DI LINUX ***
-----------------------------------------------------------------
1. sudo date nnddhhmmyyyy.ss
Keterangan:
nn adalah dua digit untuk bulan (misal agustus, maka nn = 08)
dd adalah dua digit untuk tanggal (misal tgl 11, maka dd = 11)
hh adalah dua digit untuk jam (misal jam 03 sore, maka hh = 15)
mm adalah dua digit untuk menit (misal menit ke-22, maka mm = 22)
yyyy adalah empat digit untuk tahun (misal tahun 2011, maka yyyy = 2011)
ss adalah dua digit untuk detik (misal detik ke-55, maka ss = 55)
Jadi misalnya saya ingin merubah waktu menjadi tanggal 11 Agustus 2011, pukul 15:22:55.
Maka saya akan mengetikkan perintah:
sudo date 081115222011.55
Kemudian check kembali apakah sudah benar atau belum dengan mengetikkan:
date
Jika sudah benar dengan tanggal dan waktu sekarang
2. Setting Waktu BIOS/hardware agak unik,
karena hanya bisa dilihat oleh user dengan privilege setingkat root.
Artinya di Ubuntu dan BlankOn harus menggunakan sudo untuk menjalankan perintah ini:
hwclock
Distro CentOS, RedHat, dan Debian kemungkinan besar juga harus dieksekusi dengan absolute path.
/sbin/hwclock
atau
/usr/sbin/hwclock
Ingat perintah di atas harus dijalankan sebagai root.
Lalu coba perhatikan, kalau tidak cocok berarti ada perbedaan (ya ya lah ).
Perhatikan dengan seksama, karena mungkin saja kelihatan berbeda padahal sama.
Loh kok bisa? Mungkin saja waktu di sistem Linux pake sistem 24 jam,
sedangkan di BIOS pake waktu 12 jam.
Hehe.. Bila memang benar ada ketidakcocokan, kita harus menyinkronkan.
Caranya juga gampang, yang penting ada akses root.
Kalau jam/waktu di sistem operasi Linux yang benar maka jalankan perintah berikut:
hwclock --systohc
Jikalau sebaliknya, maka ganti perintah di atas menjadi:
hwclock --hctosys
*** PERINTAH SETTING TANGGAL JAM DI LINUX ***
-----------------------------------------------------------------
1. sudo date nnddhhmmyyyy.ss
Keterangan:
nn adalah dua digit untuk bulan (misal agustus, maka nn = 08)
dd adalah dua digit untuk tanggal (misal tgl 11, maka dd = 11)
hh adalah dua digit untuk jam (misal jam 03 sore, maka hh = 15)
mm adalah dua digit untuk menit (misal menit ke-22, maka mm = 22)
yyyy adalah empat digit untuk tahun (misal tahun 2011, maka yyyy = 2011)
ss adalah dua digit untuk detik (misal detik ke-55, maka ss = 55)
Jadi misalnya saya ingin merubah waktu menjadi tanggal 11 Agustus 2011, pukul 15:22:55.
Maka saya akan mengetikkan perintah:
sudo date 081115222011.55
Kemudian check kembali apakah sudah benar atau belum dengan mengetikkan:
date
Jika sudah benar dengan tanggal dan waktu sekarang
2. Setting Waktu BIOS/hardware agak unik,
karena hanya bisa dilihat oleh user dengan privilege setingkat root.
Artinya di Ubuntu dan BlankOn harus menggunakan sudo untuk menjalankan perintah ini:
hwclock
Distro CentOS, RedHat, dan Debian kemungkinan besar juga harus dieksekusi dengan absolute path.
/sbin/hwclock
atau
/usr/sbin/hwclock
Ingat perintah di atas harus dijalankan sebagai root.
Lalu coba perhatikan, kalau tidak cocok berarti ada perbedaan (ya ya lah ).
Perhatikan dengan seksama, karena mungkin saja kelihatan berbeda padahal sama.
Loh kok bisa? Mungkin saja waktu di sistem Linux pake sistem 24 jam,
sedangkan di BIOS pake waktu 12 jam.
Hehe.. Bila memang benar ada ketidakcocokan, kita harus menyinkronkan.
Caranya juga gampang, yang penting ada akses root.
Kalau jam/waktu di sistem operasi Linux yang benar maka jalankan perintah berikut:
hwclock --systohc
Jikalau sebaliknya, maka ganti perintah di atas menjadi:
hwclock --hctosys
Rabu, 03 Oktober 2012
MySQL - Membuat procedure untuk kompare table
Pernah aku mampir ke blog seseorang tp aku lupa alamatnya, dia membuat sebuah script procedure untuk melakukan compare ke beberapa table yang ada di MySQL. Berikut procedurenya:
USE mysql;
/* ----------------------------------
Procedure structure for xp_execute
---------------------------------- */
DROP PROCEDURE IF EXISTS `xp_execute`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `xp_execute`(vqueryddl longtext)
begin
set @ssql = vqueryddl;
prepare query from @ssql;
execute query;
end;;
DELIMITER ;
/* -------------------------------------------
-- Procedure structure for xp_routines_compare
------------------------------------------- */
DROP PROCEDURE IF EXISTS `xp_routines_compare`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `xp_routines_compare`(v_namadatabase1 varchar(255), v_namadatabase2 varchar(255))
BEGIN
DROP VIEW IF EXISTS __db1;
SET @sql = CONCAT('
CREATE VIEW __db1 AS
select
r.`db` as nama_database,
r.`type` as tipe_routine,
r.`name` as nama_routine,
r.`param_list` as parameter_routine,
r.`body` as isi_routine,
r.`returns` as nilai_balik
from mysql.proc as r
where
r.db = "',v_namadatabase1,'"
with check option');
call xp_execute(@sql);
DROP VIEW IF EXISTS __db2;
SET @sql = CONCAT('
CREATE VIEW __db2 AS
select
r.`db` as nama_database,
r.`type` as tipe_routine,
r.`name` as nama_routine,
r.`param_list` as parameter_routine,
r.`body` as isi_routine,
r.`returns` as nilai_balik
from mysql.proc as r
where
r.db = "',v_namadatabase2,'"
with check option');
call xp_execute(@sql);
select db1.nama_routine as routine_yg_berbeda,
TRIM(CONCAT
( IF(strcmp(LCASE(REPLACE(REPLACE(db1.parameter_routine,CHAR(32),''),CHAR(13),'')
),LCASE(REPLACE(REPLACE(db2.parameter_routine,CHAR(32),''),CHAR(13),'')))
<> 0,'PARAMETER',''),' ',
IF(strcmp(LCASE(REPLACE(REPLACE(db1.isi_routine,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.isi_routine,CHAR(32),''),CHAR(13),''))) <> 0,'BODY',''),' ',
IF(strcmp(LCASE(REPLACE(REPLACE(db1.nilai_balik,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.nilai_balik,CHAR(32),''),CHAR(13),''))) <> 0,'RETURN',''),' '
)) as letak_perbedaan
from __db1 as db1 JOIN __db2 as db2
where db1.nama_routine = db2.nama_routine and
(strcmp(LCASE(REPLACE(REPLACE(db1.parameter_routine,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.parameter_routine,CHAR(32),''),CHAR(13),''))) <> 0
or strcmp(LCASE(REPLACE(REPLACE(db1.isi_routine,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.isi_routine,CHAR(32),''),CHAR(13),''))) <> 0
or strcmp(LCASE(REPLACE(REPLACE(db1.nilai_balik,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.nilai_balik,CHAR(32),''),CHAR(13),''))) <> 0 )
UNION ALL
select db1.nama_routine as routine_yg_berbeda, CONCAT('routines baru di db : ',v_namadatabase1) as letak_perbedaan
from __db1 as db1
where db1.nama_routine not in (select db2.nama_routine from __db2 as db2)
UNION ALL
select db2.nama_routine as routine_yg_berbeda, CONCAT('routines baru di db : ',v_namadatabase2) as letak_perbedaan
from __db2 as db2
where db2.nama_routine not in (select db1.nama_routine from __db1 as db1)
ORDER BY routine_yg_berbeda ASC;
DROP VIEW IF EXISTS __db1;
DROP VIEW IF EXISTS __db2;
END;;
DELIMITER ;
USE mysql;
/* ----------------------------------
Procedure structure for xp_execute
---------------------------------- */
DROP PROCEDURE IF EXISTS `xp_execute`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `xp_execute`(vqueryddl longtext)
begin
set @ssql = vqueryddl;
prepare query from @ssql;
execute query;
end;;
DELIMITER ;
/* -------------------------------------------
-- Procedure structure for xp_routines_compare
------------------------------------------- */
DROP PROCEDURE IF EXISTS `xp_routines_compare`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `xp_routines_compare`(v_namadatabase1 varchar(255), v_namadatabase2 varchar(255))
BEGIN
DROP VIEW IF EXISTS __db1;
SET @sql = CONCAT('
CREATE VIEW __db1 AS
select
r.`db` as nama_database,
r.`type` as tipe_routine,
r.`name` as nama_routine,
r.`param_list` as parameter_routine,
r.`body` as isi_routine,
r.`returns` as nilai_balik
from mysql.proc as r
where
r.db = "',v_namadatabase1,'"
with check option');
call xp_execute(@sql);
DROP VIEW IF EXISTS __db2;
SET @sql = CONCAT('
CREATE VIEW __db2 AS
select
r.`db` as nama_database,
r.`type` as tipe_routine,
r.`name` as nama_routine,
r.`param_list` as parameter_routine,
r.`body` as isi_routine,
r.`returns` as nilai_balik
from mysql.proc as r
where
r.db = "',v_namadatabase2,'"
with check option');
call xp_execute(@sql);
select db1.nama_routine as routine_yg_berbeda,
TRIM(CONCAT
( IF(strcmp(LCASE(REPLACE(REPLACE(db1.parameter_routine,CHAR(32),''),CHAR(13),'')
),LCASE(REPLACE(REPLACE(db2.parameter_routine,CHAR(32),''),CHAR(13),'')))
<> 0,'PARAMETER',''),' ',
IF(strcmp(LCASE(REPLACE(REPLACE(db1.isi_routine,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.isi_routine,CHAR(32),''),CHAR(13),''))) <> 0,'BODY',''),' ',
IF(strcmp(LCASE(REPLACE(REPLACE(db1.nilai_balik,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.nilai_balik,CHAR(32),''),CHAR(13),''))) <> 0,'RETURN',''),' '
)) as letak_perbedaan
from __db1 as db1 JOIN __db2 as db2
where db1.nama_routine = db2.nama_routine and
(strcmp(LCASE(REPLACE(REPLACE(db1.parameter_routine,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.parameter_routine,CHAR(32),''),CHAR(13),''))) <> 0
or strcmp(LCASE(REPLACE(REPLACE(db1.isi_routine,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.isi_routine,CHAR(32),''),CHAR(13),''))) <> 0
or strcmp(LCASE(REPLACE(REPLACE(db1.nilai_balik,CHAR(32),''),CHAR(13),'')),
LCASE(REPLACE(REPLACE(db2.nilai_balik,CHAR(32),''),CHAR(13),''))) <> 0 )
UNION ALL
select db1.nama_routine as routine_yg_berbeda, CONCAT('routines baru di db : ',v_namadatabase1) as letak_perbedaan
from __db1 as db1
where db1.nama_routine not in (select db2.nama_routine from __db2 as db2)
UNION ALL
select db2.nama_routine as routine_yg_berbeda, CONCAT('routines baru di db : ',v_namadatabase2) as letak_perbedaan
from __db2 as db2
where db2.nama_routine not in (select db1.nama_routine from __db1 as db1)
ORDER BY routine_yg_berbeda ASC;
DROP VIEW IF EXISTS __db1;
DROP VIEW IF EXISTS __db2;
END;;
DELIMITER ;
MySQL - Membuat script bat untuk proses dump database MySQL
set @path_backup = 'D:\\backup\\';
set @sv_host = 'localhost';
set @sv_port = '3306';
set @sv_uname = 'root';
set @sv_pwd = 'upie';
select * into outfile 'D:\\script_batch_mysqldump.bat'
lines terminated by '\n'
from
(
select concat('mysqldump --host=',@sv_host,' --port=',@sv_port,' -u',@sv_uname,' -p',@sv_pwd,' --add-drop-table --max_allowed_packet=1GB --routines --triggers --quote-names -E --no-data ', db.schema_name ,' > ',@path_backup, 'structure_',db.schema_name,'.sql') as syntax from information_schema.schemata as db where db.schema_name not in ('information_schema','mysql','test')
union
select concat('mysqldump --host=',@sv_host,' --port=',@sv_port,' -u',@sv_uname,' -p',@sv_pwd,' --add-drop-table --extended-insert --hex-blob --max_allowed_packet=16GB --lock-tables --no-create-db --no-create-info --quote-names --order-by-primary --dump-date ',db.schema_name,' > ',@path_backup, 'data_', db.schema_name,'.sql') as syntax from information_schema.schemata as db where db.schema_name not in ('information_schema','mysql','test')
) as script;
MySQL - Delete table menggunakan inner join
DELETE a
from t_gaji as a inner join t_pegawai as b on a.nik=b.nik
WHERE a.periode='201206' and b.departemen='OUTSOURCING' and b.penempatan_kerja='BALARAJA';
MySQL - Merubah nama hari dari format eng ke dalam format indonesia
Select DATE_FORMAT(tanggal, "%W") AS `Nama_Hari_Eng`
, CASE DAYOFWEEK(tanggal)
WHEN 1 THEN 'Minggu'
WHEN 2 THEN 'Senin'
WHEN 3 THEN 'Selasa'
WHEN 4 THEN 'Rabu'
WHEN 5 THEN 'Kamis'
WHEN 6 THEN 'Jumat'
WHEN 7 THEN 'Sabtu'
END AS `Nama_Hari_ID`
from t_transaksi;
, CASE DAYOFWEEK(tanggal)
WHEN 1 THEN 'Minggu'
WHEN 2 THEN 'Senin'
WHEN 3 THEN 'Selasa'
WHEN 4 THEN 'Rabu'
WHEN 5 THEN 'Kamis'
WHEN 6 THEN 'Jumat'
WHEN 7 THEN 'Sabtu'
END AS `Nama_Hari_ID`
from t_transaksi;
Langganan:
Postingan (Atom)