backup mysql hanya schema

spring boot inisialisasi aplikasi menggunakan file schema.sql

Bismillah

q> Bagaimana caranya backup database hanya schema saja ?

mysqldump -u root -p --no-data dbname > schema.sql

q> Ayo test, misalnya pada mysql terdapat database db_primary, maka

mysqldump -uroot -p --no-data db_primary > schema_primary.sql

Alhamdulillah

Advertisements

select bit mysql

mysql, tipe field adalah bit, bagaimana select datanya ?

Bismillah

q> googling ketemu SO (stackoverflow)

q> Ini DDL nya (script pembuatan table)

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(50) DEFAULT NULL,
`enabled` bit(1) NOT NULL,
`password` varchar(60) NOT NULL,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UK_r43af9ap4edm43mmtq01oddj6` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1

q> Untuk datanya misalnya seperti ini (DML)

INSERT INTO users (id,email,enabled,password,username) VALUES (2,'iyar@gmail.com',true,'$2a$10$EoEKtj100Wk9DLorweEHTu9lC9d9KeCZmjfwbEzGauqkUspzON0Su','iyar');
INSERT INTO users (id,email,enabled,password,username) VALUES (3,'saifi.tesaja@gmail.com',true,'$2a$10$UL3KrXEvD0srlqf6sHYRgO5u3pIs7hGhriZuJPsYln0fgEZKg0tMi','saifi');
INSERT INTO users (id,email,enabled,password,username) VALUES (4,'wandi@gmail.com',false,'$2a$10$B/Pm4tiklZ2TlzeK70bxbOD.1Dey3YuQaDrwINUahfMJO3eyk497O','wandi');
INSERT INTO users (id,email,enabled,password,username) VALUES (5,'user1@gmail.com',false,'$2a$10$xgv/nZ0AAoZOyVzoCdsNiur9rtibj1UNcaatChwERkPV9AW97P6ZG','user1');
INSERT INTO users (id,email,enabled,password,username) VALUES (6,'user2@gmail.com',true,'$2a$10$7woMlohFwe5fErlwEB1fk.QDFot70RQF6A7svt4j66AFBRaDFHWIC','user2');

q> Query untuk mem-filter data user yang enabled = 1 atau enabled adalaha true

select * from users where enabled = (1)

q> atau

select * from users where enabled = true

q> sebaliknya untuk memfilter data yang enabled = 0 atau yang false

select * from users where enabled = (0)

q> atau

select * from users where enabled = false

q> Berhasil 🙂

q> Edit tambahan

select * from users where enabled = b'1'
select * from users where enabled = b'0'

sumber:
http://stackoverflow.com/questions/839596/mysql-how-to-query-a-column-whose-type-is-bit

 

Alhamdulillah

mysql mengurutkan angka yang tipenya varchar

bagaimana caranya ya mengurutkan data yang isinya angka tetapi tipe datanya adalah varchar pada mysql

Bismillah

q> Misalnya kita punya tabel seperti ini

create table coba (number varchar(3) primary key, nilai varchar(20) );

q> Isi tabel dengan perintah ini :

INSERT INTO coba (number,nilai) VALUES ('1','satu');
INSERT INTO coba (number,nilai) VALUES ('2','dua');
INSERT INTO coba (number,nilai) VALUES ('3','tiga');
INSERT INTO coba (number,nilai) VALUES ('10','sepuluh');
INSERT INTO coba (number,nilai) VALUES ('12','dua belas');

q> tampilkan data dengan query ini :

select * from coba order by number;

Selection_796

q> tampilkan lagi dengan query ini :

select * from coba order by number+0;

Selection_797

Alhamdulillah

 

 



 

bash perintah restore mysql database

Bagaiamana perintah bash, untuk melakukan restore mysql.sql.zip yang ada pada beberapa folder untuk direstore ke beberapa database ?

Bismillah

q> Begini maksudnya 🙂

q> Ada 1 kantor pusat, ada beberapa kantor cabang

q> Setiap cabang setiap hari mengirimkan backup transaksi perhari (incremental backup) lewat protokol SSH

q> Pada kantor pusat semua data terkumpul pada 1 komputer ubuntu server

q> Semua cabang mempunyai aplikasi yang mengakses nama database yang sama, misalnya aplikasi_cabang

q> Sedangkan pada kantor pusat nama database akan menjadi aplikasi_cabang_2ng, aplikasi_cabang_b6r dst.

q> Contoh struktur folder pada server kantor pusat, beserta file backupnya (sql.zip)

Selection_764

 

q> Untuk file 2014_02_22.sql.zip pada folder 2ng, ini akan di-restore ke database aplikasi_cabang_2ng

q> Untuk file 2014_02_22.sql.zip pada folder b6r, ini akan di-restore ke database aplikasi_cabang_b6r

q> dan seterusnya 🙂

q> berikut perintah untuk mengerajakan restore database secara looping

#!/bin/bash
#variabel SATU mundur tanggal satu hari dari tanggal sekarang
SATU=1
DATE=$(date "--date=${dataset_date} -${SATU} day" +%Y_%m_%d)
EXT=.sql.zip
NAMAFILE=$DATE$EXT
echo $NAMAFILE
for i in $( find -iname *$NAMAFILE* ); do
echo restore file : $i
zcat $i | mysql -uroot -pPasswordR00t --force
done

q> Pada skrip di atas yang perlu disesuaikan ada password mysql untuk user root (PasswordR00t)

q> simpan skrip di atas dengan nama looping.sh

Selection_765

q> kasih hak akases untuk bisa dieksekusi file tersebut dengan perintah

chmod a+x looping.sh

q> Untuk menjalankannya gunakan perintah ini

sh looping.sh

q> Berhasil

Alhamdulillah

mysql bagaimana query mengambil tiga kata pertama dari string

Bagaimana ya, cara mengambil tiga kata pertama dari sebuah field yang bertime string ?

Bismillah

q> tadi ada yang tanya di forum mysql Indonesia (fb),

q> O iya ya gmn caranya,, saya juga belum pernah query kaya gtu, googling bentar

q> joss joss joss dapet 😀

q> Ayo kita tes, begini description dan datanya :

Selection_550

q> Dan ini querynya :

SELECT SUBSTRING_INDEX(kata, ' ', 3) AS tiga_kata FROM kata;

Selection_549

q> Berhasil

Alhamdulillah.

sumber :
http://biostall.com/getting-the-first-word-of-a-string-with-mysql

Error 2002 mysqld.sock 2

 

Bismillah

q> Coba

mysql -uroot -p

q> Muncul error
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

q> Cek service mysql

ps -ef | grep 

q> Hasilnya :

root 1628 1 0 Sep06 ? 00:00:00 sudo mysqld --skip-grant-tables
mysql 1629 1628 0 Sep06 ? 00:00:51 mysqld --skip-grant-tables
root 14367 8293 0 14:08 pts/2 00:00:00 grep --color=auto mysql

q> Capturenya :
Selection_439

q> Wow pantes ada dua service mysql yang jalan, hapus proses yang ownernya root yaitu proses no 1628

kill 1628

q> Kemudian cek lagi service mysqlnya
Selection_440

q> Kemudian coba lagi login ke mysqlnya

mysql -uroot -p

Alhamdulillah