Selasa, 25 Oktober 2011
SQL Server : Solusi untuk Error pada saat Attach Database tanpa file Log (FIle LDF)
Pernahkah mengalami Error pada saat Attach file MDF database SQL Server tanpa file LDF?
Secara umum Attach File MDF tanpa file LDF tidak akan menjadi masalah, selama transaksi yang terjadi di database normal, atau sudah tercommit semua.
Namun apabila karena suatu hal server rusak, dan yang bisa dilakukan hanya bisa mengcopy file MDF, bisa jadi ketika attach akan menemui pesan error.
Jangan khawatir, berikut solusinya1. Buat database baru dengan nama sama baik MDF maupun LDF-nya
2. Stop SQL Server, masuk ke lokasi file MDF. Rename file MDF yang ada, dan copy-kan file MDF yang original ke lokasi tersebut. Delete File LDF yang ada.
3. Start SQL Server
4. Sekarang database anda akan di mark menjadi Suspect
5. Update sysdatabases ke Emergency Mode. Perintah ini bermaksud agar tidak menggunakan file LOG pada saat start up
Sp_configure "allow updates", 1
go
Reconfigure with override
GO
Update sysdatabases set status = 32768 where name = 'DbName Yg Rusak'
go
Sp_configure "allow updates", 0
go
Reconfigure with override
GO
6. Restart sql server. dan sekarang database akan masuk ke Emergency Mode
7. Kemudian eksekusi perintah berikut, untuk membuat log baru.
DBCC REBUILD_LOG(dbname,'c:\dbname.ldf')
8. Execute sp_resetstatus <dbname>
9. Restart SQL server dan Walaaaa.... Database anda sudah Online
Jumat, 14 Oktober 2011
Konfigurasi Replikasi di MySQL
Hari ini nyoba konfigurasi replikasi di MySQL. Cukup unik, tapi lumayan lah bisa digunakan untuk replikasi data ke server lain.
Replikasi database di MySQL menggunakan konsep mengambil file log.bin di Server yang disebut MASTER dan dieksekusi di sisi SLAVE.
File log.bin pada hakekatnya adalah berisi history perintah-perintah SQL yang dihasilkan dari aktifitas DDL (create, alter, drop) dan transaksi (insert,update, delete) di Server MASTER.
Kemudian secara realtime (walaupun ada delay sih) diambil oleh Server SLAVE untuk dieksekusi, sehingga obyek atau data yang disisi MASTER akan sama di sisi SLAVE.
Konfigurasi di sisi MASTER
1. Pastikan di my.ini ditambahkan konfigurasi sebagai berikut:
[mysqld]
bind_address=ip_server_master
skip-name-resolve
server-id=1
log-bin=mysql-bin
2. Restart service mysql
3. Buat user dan diberi grant akses file dan replikasi
mysql>GRANT FILE on *.* to repluser@'%' identified by '123';
mysql>GRANT REPLICATION SLAVE on *.* to repluser@'%';
Konfigurasi di sisi SLAVE
1. Pastikan di my.ini ditambahkan konfigurasi sebagai berikut:
[mysqld]
bind_address=ip_server_slave
skip-name-resolve
server-id=2
2. restart service mysql
3. masuk ke mysql prompt
mysql>CHANGE MASTER TO MASTER_HOST='IP_SERVER_MASTER',
Replikasi database di MySQL menggunakan konsep mengambil file log.bin di Server yang disebut MASTER dan dieksekusi di sisi SLAVE.
File log.bin pada hakekatnya adalah berisi history perintah-perintah SQL yang dihasilkan dari aktifitas DDL (create, alter, drop) dan transaksi (insert,update, delete) di Server MASTER.
Kemudian secara realtime (walaupun ada delay sih) diambil oleh Server SLAVE untuk dieksekusi, sehingga obyek atau data yang disisi MASTER akan sama di sisi SLAVE.
Konfigurasi di sisi MASTER
1. Pastikan di my.ini ditambahkan konfigurasi sebagai berikut:
[mysqld]
bind_address=ip_server_master
skip-name-resolve
server-id=1
log-bin=mysql-bin
2. Restart service mysql
3. Buat user dan diberi grant akses file dan replikasi
mysql>GRANT FILE on *.* to repluser@'%' identified by '123';
mysql>GRANT REPLICATION SLAVE on *.* to repluser@'%';
Konfigurasi di sisi SLAVE
1. Pastikan di my.ini ditambahkan konfigurasi sebagai berikut:
[mysqld]
bind_address=ip_server_slave
skip-name-resolve
server-id=2
2. restart service mysql
3. masuk ke mysql prompt
mysql>CHANGE MASTER TO MASTER_HOST='IP_SERVER_MASTER',
-> MASTER_USER='repluser',
-> MASTER_PASSWORD='123',
-> MASTER_LOG_POS=4;
mysql>slave start;
4. Cek slave statusnya
mysql>show slave status;
Coba test replikasi. Buat database di Sisi MASTER
mysql>create database testdb;
mysql>create table test(nomor int, nama varchar(50));
mysql>insert into test values(1,'test nama');
Cek disi SLAVE
mysql>show databases;
Kalau berhasil seharusnya ada database testdb;
Gitu dulu ya, mau maghriban....
Kamis, 13 Oktober 2011
Konfigurasi XAMPP agar dapat di remote access
Hari ini dapat trouble kecil waktu menggunakan XAMPP. Ternyata defaultnya nggak bisa di akses dari remote. Biar nggak lupa, ini yang wajib di konfigurasi di my.ini
1. Buka my.ini di folder [c:]\xampp\mysql\bin
2. Tambahkan konfigurasi berikut:
[mysqld]
bind_address=nomor_ip_mysql_server_nya
skip-name-resolve
3. Restart service mysql
4. Test akses mysql dari PC lain
See you....
1. Buka my.ini di folder [c:]\xampp\mysql\bin
2. Tambahkan konfigurasi berikut:
[mysqld]
bind_address=nomor_ip_mysql_server_nya
skip-name-resolve
3. Restart service mysql
4. Test akses mysql dari PC lain
See you....
Langganan:
Postingan (Atom)