The Best Style of Your Bed


Spacify offers luxury bedding sets,sheets and designer bedding. Free Shipping offered on all Modern and contemporary styles that include SIS cover, Rizzy rugs, Jiti Bedding.

Example style :

1. Spinner Contemporary Bedding Set


Contemporary Bedding Set.

Spinner Contemporary Bedding Set covers offers exceptional bedding products. This bedding lines create a space that`s beautiful, functional, comfortable and personal. The designs have current colors and designs that allow for individual style. Spinner Contemporary Bedding Set come with reversible duvet covers that allow you to redecorate your bedroom in a flip. Simply turn your comforter over for a completely different yet coordinated look.

Size Options:

  • Twin
  • Full
  • Queen
  • King
  • California King

    Set Includes:
    Twin Set 5Pcs:

  • Twin duvet cover
  • Twin polyester duvet insert
  • 1 Standard pillow sham
  • 2 Toss pillows

    Full Set 6Pcs:

  • Full duvet cover
  • Full polyester duvet insert
  • 2 Standard pillow shams
  • 2 Toss pillows

    Queen/King/California King Set 6Pcs:

  • Duvet cover
  • Duvet polyester duvet insert
  • 2 pillow shams
  • 2 Toss pillows

  • 2. Random Rotation Bedding Set



    Random Rotation Bedding Set covers offers exceptional bedding products. This bedding lines create a space that`s beautiful, functional, comfortable and personal. The designs have current colors and designs that allow for individual style. Random Rotation Bedding Set come with reversible duvet covers that allow you to redecorate your bedroom in a flip. Simply turn your comforter over for a completely different yet coordinated look.

    Size Options:

  • Twin
  • Full
  • Queen
  • King
  • California King

    Set Includes:
    Twin Set 5Pcs:

  • Twin duvet cover
  • Twin polyester duvet insert
  • 1 Standard pillow sham
  • 2 Toss pillows

    Full Set 6Pcs:

  • Full duvet cover
  • Full polyester duvet insert
  • 2 Standard pillow shams
  • 2 Toss pillows

    Queen/King/California King Set 6Pcs:

  • Duvet cover
  • Duvet polyester duvet insert
  • 2 pillow shams
  • 2 Toss pillows

  • 3. Dark Earth Bedding Set


    Dark Earth Bedding Set.

    Dark Earth Bedding Set covers offers exceptional bedding products. This bedding lines create a space that`s beautiful, functional, comfortable and personal. The designs have current colors and designs that allow for individual style. Dark Earth Bedding Set come with reversible duvet covers that allow you to redecorate your bedroom in a flip. Simply turn your comforter over for a completely different yet coordinated look.

    Size Options:

  • Twin
  • Full
  • Queen
  • King
  • California King

    Set Includes:
    Twin Set 5Pcs:

  • Twin duvet cover
  • Twin polyester duvet insert
  • 1 Standard pillow sham
  • 2 Toss pillows

    Full Set 6Pcs:

  • Full duvet cover
  • Full polyester duvet insert
  • 2 Standard pillow shams
  • 2 Toss pillows

    Queen/King/California King Set 6Pcs:

  • Duvet cover
  • Duvet polyester duvet insert
  • 2 pillow shams
  • 2 Toss pillows


  • You can check many style at www.spacify.com


    Busby SEO Test

    test Your seo skil for Busby SEo test, keyphare is BUsby SEO Test. like blog jegeg , i want to try my seo skill

    Learn more about BUSBY SEO TEst :


    What the BusBy SEO Test?

    BUSBY is proud to invite SEO specialists, guru’s, masters and hot shots to compete over a 4 month period to gain the highest position they can achieve on Google (USA Google Data Center )

    http://72.14.207.99/ie?q=Busby+SEO+Test&num=100&hl=en&as_qdr=all&start=0&sa=N

    http://www.google.com

    Summary

    Set up your own website and optimise it for the key phrase we announce on the start date. Prizes will be awarded to the contenstants whose site is ranked 1st, 2nd, 3rd, 4th and 5th on the finish date on Google (USA Google Data Center)

    http://72.14.207.99/ie?q=Busby+SEO+Test&num=100&hl=en&as_qdr=all&start=0&sa=N

    Problem Freeradius

    Question :
    Dear all,

    I am facing problem while starting radius with radiusd -X command.
    I want mysql support in radius.
    I am getting this error.

    radius.conf[14]: sql: Module instantiation failed.

    I have searched the archieves but didnt find correct answers.

    My system.
    Redhat 9.0
    freeradius-0.9.2.tar.gz
    mysql-devel-3.23.54a-11
    mysql-3.23.54a-11
    mysql-server-3.23.54a-11

    Do i need to install anything more ?
    Any ideas...?

    Regards,
    Joel n.solanki


    Answer: yes . freeradius-mysql >> yum -y install freeradius-mysql

    Good collection of ebooks

    http://rapidshare.com/users/RSXZ78
    http://rapidshare.com/users/MS4PCZ

    http://rapidshare.com/users/B1WI14
    http://rapidshare.com/users/DSOUUK
    http://rapidshare.com/users/9VC8MU
    http://rapidshare.com/users/CDSBT
    http://rapidshare.com/users/NUTNQ
    http://rapidshare.com/users/D00SLR
    http://rapidshare.com/users/1ZX7Z2
    http://rapidshare.de/users/RBKIML
    http://rapidshare.com/users/58X7VH

    Mikrotik Download

    Major features:
    Best wireless performance
    Improved Nstreme performance
    Powerful QoS control
    P2P traffic filtering
    High availability with VRRP
    Bonding of Interfaces
    Improved interface
    Smaller and Less resource-hungry
    Tons of other new features
    Advanced Quality of Service
    Stateful firewall, tunnels
    STP bridging with filtering
    High speed 802.11a/b/g wireless with WEP/WPA
    WDS and Virtual AP
    HotSpot for Plug-and-Play access
    RIP, OSPF, BGP routing
    remote WinBox GUI and Web admin
    telnet/mac-telnet/ssh/console admin
    real-time configuration and monitoring

    http://rapidshare.de/files/29944594/mikrotik-2.9.27.rar

    http://rapidshare.de/files/18812090/Mikrotik_Routeros_v2.9.7_With_Crack.rar
    http://rapidshare.com/files/15023770/Mikrotik_2.9.17__crack___patch_.iso
    http://rapidshare.com/files/15023682/Mikrotik_2.9.19__crack_.iso
    http://rapidshare.com/files/15023687/Mikrotik_2.9.23_key_level_6.key
    http://rapidshare.com/files/15023463/MikroTik_2.9.26__crack_.iso
    http://rapidshare.com/files/15024335/Mikrotik_2.9.6__crack_.iso
    http://rapidshare.com/files/15024144/Mikrotik_2.9.7__crack_.iso
    http://rapidshare.com/files/15023040/Mikrotik_3.0_beta3.zip

    AutomatedBilling/BillingScript

    This is the Billing Script attached to the Automated Billing System.

    For the purposes of this article, I am first going to post the entire script. You will find a blow-by-blow description of the scripts below it, with extracts of code.

    The Full Script


     
    :local uptime
    :local count
    :local usrname
    :local clientname
    :local clientsurname
    :local poolname
    :local accounttype
    :local discount
    :local amount

    :local discountedamount
    :local discountcheck
    :local date
    :local invoice
    :local nextinvoicenumber
    :local bytesin
    :local bytesout
    :local bytestotal
    :local gigstotal
    :local email
    :local basecharge
    :local usagecharge
    :local total
    :local disabled
    :local doespay
    :local server
    :local newcomment

    :local comment
    :local cap
    :local warning
    :local lastinvoicemonth
    :local month
    :local monthnum
    :local newmonthnum
    :local lastmonth

    :set server [:resolve smtp.yourserver.com]

    :set month [:pick [/system clock get date] 0 3]

    :if ([$month] = jan) do={ :set newmonthnum 01 }
    :if ([$month] = feb) do={ :set newmonthnum 02 }
    :if ([$month] = mar) do={ :set newmonthnum 03 }
    :if ([$month] = apr) do={ :set newmonthnum 04 }

    :if ([$month] = may) do={ :set newmonthnum 05 }
    :if ([$month] = jun) do={ :set newmonthnum 06 }
    :if ([$month] = jul) do={ :set newmonthnum 07 }
    :if ([$month] = aug) do={ :set newmonthnum 08 }
    :if ([$month] = sep) do={ :set newmonthnum 09 }
    :if ([$month] = oct) do={ :set newmonthnum 10 }
    :if ([$month] = nov) do={ :set newmonthnum 11 }
    :if ([$month] = dec) do={ :set newmonthnum 12 }

    # Loop through all the users in User Manager - My only Subscriber is Admin
    /tool user-manager user
    :foreach i in=[ /tool user-manager user find subscriber=admin ] do={

    #Pull out all the information I need


    :set disabled [get $i disabled]

    :if ([$disabled] = false) do={
    #pull some data from it, and print it on screen
    :set date [/system clock get date]
    :set usrname [get $i name]
    :set uptime [get $i uptime-used]
    :set clientname [get $i first-name]
    :set clientsurname [get $i last-name]
    :set poolname [get $i pool-name]
    :set discountcheck [get $i discount]
    :set comment [get $i comment]
    :set invoice [:pick $comment 0 5]
    :set cap [:pick $comment 5 9]
    :set warning [:pick $comment 9 11]
    :set lastmonth [:pick $comment 11 13]
    :set lastinvoicemonth [:pick $comment 11 13]
    :set nextinvoicenumber ($invoice + 1)
    :if ([get $i download-used] > 0) do={ :set bytesin [get $i download-used] } else={ :set bytesin 0 }

    :if ([get $i upload-used] > 0) do={ :set bytesout [get $i upload-used] } else={ :set bytesout 0 }
    :set bytestotal ($bytesin + $bytesout)
    :set gigstotal ($bytestotal / 1000000)

    :set email [get $i email]
    :set basecharge 140
    :set usagecharge 0
    :put $poolname

    :set newcomment "$nextinvoicenumber$cap$warning$newmonthnum"
    /tool user-manager user set $i comment=$newcomment
    :if ([$discountcheck] > 0 ) do={ :set discount [get $i discount] } else={ :set discount 0 }

    #Here, I set the Cost based on what Package the clients have - usage based, discounts... blabla.
    # I have an in-house mail server to handle all the outgoing e-mail

    # For Capped Services


    :if ([$poolname] = "64") do={ :set amount "220" }
    :if ([$poolname] = "128") do={ :set amount "330" }
    :if ([$poolname] = "256") do={ :set amount "450" }

    # For Uncapped Services

    :if ([$poolname] = "64uncapped") do={ :set amount "550" }
    :if ([$poolname] = "128uncapped") do={ :set amount "675" }
    :if ([$poolname] = "256uncapped") do={ :set amount "800" }

    :if ([$poolname] = "usagebased") do={ :set usagecharge (�gigstotal/100) * 7) + 7) }
    :if ([$poolname] = "usagebased") do={ :set amount $basecharge}
    :set discountedamount ($amount - $discount)

    :set total ($discountedamount + $usagecharge)
    :if ([$total] = 0) do={ :set doespay "This is a Complimentary Account"} else={ :set doespay "-" }

    #this one E-mails a basics-only invoice to Accounts for my WISP:

    /tool e-mail send to=accounts@YourWISP.com from=NoReply@YourWISP.com server=$server subject="Invoice for user $usrname" body="Sent Invoice to $email

    Invoice: $usrname-$date-$invoice
    Date: $date
    Data: $gigstotal MB
    Uptime: $uptime
    Subtotal: R $amount.00
    Usage Charge: R $usagecharge.00
    Discount: -R $discount.00

    Total: R $total.00

    $doespay"
    :log info "Sent Invoice for $usrname to Accounting"

    #this one sends a more elaborate version with all the necessary information to the Client's E-mail addy.

    /tool e-mail send to=$email from=NoReply@YourWISP.com server=$server subject="Wireless Statement" body="Dear $clientname $clientsurname
    Statement For Wireless Internet Services $poolname kbps Package

    Statement Number: $usrname-$date-$invoice

    This is a statement for user account: $usrname
    Your current total uptime is $uptime
    Total Data Transferred: $gigstotal MB


    Subtotal: R $amount.00
    Usage Charge: R $usagecharge.00
    Discount: -R $discount.00
    ---------
    Total: R $total.00
    =========

    This is the payable amount on your user account.

    Our Banking Details are as follow:

    Bank: YourBankName
    Branch: YourBranchName
    Account: YourAccountNumber
    Holder: YourAccountHolder
    Reference: $usrname

    Please remember to state your Username as reference
    for the deposit, in order to avoid confusion among transactions.

    If you have received this statement in error, please reply to this E-mail
    stating that you are not the intended recipient, and then delete this message.
    Should there be any incorrect information on this report,
    please inform us immediately.

    Warm Regards
    YourWISP"

    :log info "Sent Invoice for user $usrname to $email"
    /tool user-manager user reset-counters $i
    }
    }

    The Sript Explained


    You must replace "smtp.yourserver.com" with your SMTP server address.


     
    :set server [:resolve smtp.yourserver.com]



    If your server has an IP address, instead of an FQDN, you will be replacing the address as such, supposing your SMTP server IP is 10.0.0.1:


     
    :set server 10.0.0.1


    Now, because the Comment field I mentioned earlier is made up of Integers only, I can't use the month Name in there. So, find what the month Name is, and assign a number value to it. This value can the be used in the rest of the script:


     
    :set month [:pick [/system clock get date] 0 3]

    :if ([$month] = jan) do={ :set newmonthnum 01 }
    :if ([$month] = feb) do={ :set newmonthnum 02 }
    :if ([$month] = mar) do={ :set newmonthnum 03 }
    :if ([$month] = apr) do={ :set newmonthnum 04 }
    :if ([$month] = may) do={ :set newmonthnum 05 }

    :if ([$month] = jun) do={ :set newmonthnum 06 }
    :if ([$month] = jul) do={ :set newmonthnum 07 }
    :if ([$month] = aug) do={ :set newmonthnum 08 }
    :if ([$month] = sep) do={ :set newmonthnum 09 }
    :if ([$month] = oct) do={ :set newmonthnum 10 }
    :if ([$month] = nov) do={ :set newmonthnum 11 }
    :if ([$month] = dec) do={ :set newmonthnum 12 }


    Now let's begin our Loop through all the users in User Manager - My only Subscriber is Admin



     
    /tool user-manager user
    :foreach i in=[ /tool user-manager user find subscriber=admin ] do={

    :set disabled [get $i disabled]

    :if ([$disabled] = false) do={
    :set date [/system clock get date]
    :set usrname [get $i name]
    :set uptime [get $i uptime-used]
    :set clientname [get $i first-name]
    :set clientsurname [get $i last-name]
    :set poolname [get $i pool-name]
    :set discountcheck [get $i discount]
    :set comment [get $i comment]
    :set invoice [:pick $comment 0 5]
    :set cap [:pick $comment 5 9]
    :set warning [:pick $comment 9 11]
    :set lastmonth [:pick $comment 11 13]

    :set lastinvoicemonth [:pick $comment 11 13]
    :set nextinvoicenumber ($invoice + 1)



    Here, all the information that is going to be used within this loop cycle is extracted from User Manager and any other applicable sources.

    A dilemma that we had was that if the user has not yet logged in for the month (and thus had no Downloads logged) the script fails. What we did was to force the script to assign "0" as the Usage, should this be the case. Otherwise, carry on as normal.


     
    :if ([get $i download-used] > 0) do={ :set bytesin [get $i download-used] } else={ :set bytesin 0 }
    :if ([get $i upload-used] > 0) do={ :set bytesout [get $i upload-used] } else={ :set bytesout 0 }
    :set bytestotal ($bytesin + $bytesout)

    :set gigstotal ($bytestotal / 1000000)

    :set email [get $i email]
    :set basecharge 140
    :set usagecharge 0


    Alright, we've already done all the calculations necessary with the Comment field. THe only thing we are updating is the Invoice Number, and this month's number value, since we are about to issue the invoice/statement we have just numbered, and this invoice will be issued in This month. So, we can put that data away and update the comment field in UserManager.


     
    :set newcomment "$nextinvoicenumber$cap$warning$newmonthnum"
    /tool user-manager user set $i comment=$newcomment
    :if ([$discountcheck] > 0 ) do={ :set discount [get $i discount] } else={ :set discount 0 }

    Ah yes, the Discount field. Some of my users have some of my base-stations on their roofs. For them, I give free (or partially free) internet. But this needs to be specified. It is considered "special circumstances" and will be entered manually into the Discount field of the User, by using the Terminal - Take note that this line is not part of the script:


     
    /tool user-manager user set [/tool user-manager user find name=YourUser] discount=xxxx



    Where xxxx = the Discount Amount.

    Now I extrapolate how much the client owes me, based on which wireless package they have opted for:


     # For Capped Services

    :if ([$poolname] = "64") do={ :set amount "220" }
    :if ([$poolname] = "128") do={ :set amount "330" }
    :if ([$poolname] = "256") do={ :set amount "450" }


    # For Uncapped Services

    :if ([$poolname] = "64uncapped") do={ :set amount "550" }
    :if ([$poolname] = "128uncapped") do={ :set amount "675" }
    :if ([$poolname] = "256uncapped") do={ :set amount "800" }



    For Usage Based billing, I charge 7 units of my currency per 100MB, with a Base-connection charge. The extra "+7" is to compensate for the "Or part thereof" that gets truncated in the division equasion:


     
    :if ([$poolname] = "usagebased") do={ :set usagecharge (�gigstotal/100) * 7) + 7) }
    :if ([$poolname] = "usagebased") do={ :set amount $basecharge}
    :set discountedamount ($amount - $discount)
    :set total ($discountedamount + $usagecharge)
    :if ([$total] = 0) do={ :set doespay "This is a Complimentary Account"} else={ :set doespay "-" }

    Now, an E-mail is compiled and sent to my Accounts e-mail, just stating the basic info that I need to know and need to keep on records: (My currency is "R" - South African Rand)


     
    /tool e-mail send to=accounts@YourWISP.com from=NoReply@YourWISP.com server=$server subject="Invoice for user $usrname" body="Sent Invoice to $email

    Invoice: $usrname-$date-$invoice
    Date: $date
    Data: $gigstotal MB
    Uptime: $uptime
    Subtotal: R $amount.00
    Usage Charge: R $usagecharge.00
    Discount: -R $discount.00

    Total: R $total.00

    $doespay"




    And Log the fact that we've just done some E-mailing:


    :log info "Sent Invoice for $usrname to Accounting"


    Now here is a more elaborate version that will be sent to the Client.
    I've removed some of the bulky information, but put the rest here to just give you an idea of what is happening:


    /tool e-mail send to=$email from=NoReply@YourWISP.com server=$server subject="Wireless Statement" body="Dear $clientname $clientsurname
    Statement For Wireless Internet Services $poolname kbps Package

    Statement Number: $usrname-$date-$invoice

    This is a statement for user account: $usrname
    Your current total uptime is $uptime
    Total Data Transferred: $gigstotal MB

    Subtotal: R $amount.00
    Usage Charge: R $usagecharge.00
    Discount: -R $discount.00
    ---------
    Total: R $total.00
    =========

    This is the payable amount on your user account.

    ....Bla bla bla...

    Warm Regards
    YourWISP"


    And Log the fact that we've just E-mailed the client:


    :log info "Sent Invoice for user $usrname to $email"


    And Finally, Wipe the Usage and Uptime Counters, ready for the next month's cycle, and close the Loop, ready to begin the next user:


    /tool user-manager user reset-counters $i
    }
    }


    Pets Fun House v1.0

    Pets Fun House v1.0

    Breed baby animals and nurture their growth inside an amusing pet shop. As a boutique owner, you must work hard while maintaining a great sense of humor. Raise eight kinds of animals to make healthy, vivacious pets for loving owners. Buy appropriate items for particular breeds and work to unlock all items in the shop's interior. Check the pet sales report frequently to be a smart business owner, and build the Pets Fun House empire.

    Game features:
    • Build your pet empire
    • Card game bonus levels
    • Can you manage pet mania?

    System requirements:
    • Windows 2000/XP/Vista
    • DirectX 6
    • 600 MHz
    • 128 MB RAM

    Resolution: 800x600 Fullscreen/Windowed

    Download: 39.33 MB

    Mirror1:

    Mirror2:

    Mirror3:

    Pass: www.dl4all.com

    Rapidshare Leecher 2008 2.0

    The application supports proxy servers, so you can download many files at the same time (using different proxy). Rapidshare Ultimate 2008 is a software to download files from the world’s largest file-sharing network Rapidshare, based on the source code donated by previous RapidLeecher author.

    The application supports proxy servers, so you can download many files at the same time (using different proxy) and multiple instance of the software.

    Here are some key features of “RapidShare Leecher”:



    · Fully Automated Downloading.
    · Automatic CAPTCHA Image Detection.
    · Silent operation mode, will sit and wait for links in system tray.
    · Proxy Support for simultaneous downloads and unlimited downloading.
    · Inbuilt Downloader with detailed static’s.
    · Full installer and uninstaller.
    · Very simple to use.
    · Pleasant, easy to use interface.

    Download

    langkah dasar membuat database dengan MySQL

    MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
    meskipun begitu kualitas dari MySQL tidak kalah dengan
    software-software berbayar lainya.”for small-to-medium sized
    databases, MySQL will be extremely fast”, setidaknya itulah
    yang dikatakan oleh Jay Greenspan dan Brad Bulger dalam bukunya
    yang berjudul “MySQL/PHP Database Applications”.
    well..itulah penjelasan singkat mengenai MySQL, mari kita mulai!

    berikut ini merupakan langkah-langkah dasar untuk membuat sebuah
    database menggunakan MySQL.
    dalam hal ini penulis menggunakan MySQL versi 4.1.9-max yang terdapat
    dalam satu bendel VertrigoServ 1.14 (http://vertrigo.sf.net), yaitu
    sebuah software yang didalamnya terdapat paket-paket software yaitu
    MySQL,PHP, dan Apache. dalam tulisan ini hanya akan dibahas mengenai
    langkah dasar pembuatan database dengan menggunakan MySQL melalui command prompt,
    untuk PHP dan Apache akan di bahas pada kesempatan lain.

    untuk memulainya, hal pertama yang harus dilakukan adalah mengaktifkan
    server MySQL, yaitu dengan mengaktifkan vertrigo yang telah terinstall.

    setelah server hidup, jalankan command promt kemudian change directory ke
    C:Program FilesVertrigoServMysqlbin , dengan perintah:

    shell> cd C:Program FilesVertrigoServMysqlbin

    kemudian masuk ke prompt MySQL dengan command:
    mysql -u user -p database

    -u user : option untuk menuliskan user yang akan digunakan untuk login.
    -p : option untuk memasukan password.
    database: nama database yang ingin anda pakai.
    contoh:

    shell>mysql -u root -p mysql
    Enter password: ****** (masukan password “qwerty”)
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 7 to server version: 4.1.9-max

    Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

    sekarang anda telah masuk ke prompt MySQL sebagai root.
    default password untuk root adalah: “qwerty”
    root merupakan user dengan hak tertinggi, tentu saja hal ini sangat riskan
    sekali untuk membiarkan password root seperti defaultnya.

    ubah password untuk root
    ————————

    untuk mengubah password dari root adalah seperti berikut.

    keluar dari mysql prompt
    mysql>exit

    membuat password baru
    shell> mysqladmin -u root -p password password_baru
    shell> Enter password: ****** (isikan dengan password lama)

    password_baru : merupakan password baru anda, ubah sesuai keinginan anda.
    setelah berhasil kemudian coba masuk lagi ke mysql menggunakan password baru anda
    dengan perintah seperti sebelumnya. jika berhasil maka mengindikasikan
    bahwa password telah diubah.

    membuat database
    —————-

    membuat database dengan nama belajar
    mysql> create database belajar;
    Query OK, 1 row affected (0.07 sec)

    tampilkan database
    mysql> show databases;
    +———-+
    | Database |
    +———-+
    | belajar |
    | mysql |
    | test |
    +———-+
    3 rows in set (0.00 sec)

    terlihat ada 3 database dengan nama belajar, mysql,test.

    memilih database
    mysql> use belajar;
    Database changed

    membuat table
    ————-

    membuat table dengan nama user.
    mysql> create table user(
    -> id int not null auto_increment primary key,
    -> user_name varchar (30));
    Query OK, 0 rows affected (0.94 sec)

    id int not null auto_increment primary key
    perintah diatas berarti bahwa:
    buat sebuah kolom dengan nama id, bertipe int,tidak boleh kosong,
    bersifat auto increment, dan sebagai primary key.

    auto increment adalah nilai dari entitas tersebut selalu bertambah
    1 setiap kali diperbarui.
    primary key merupakan sifat unik dari entitas tersebut, nilai dari entitas
    tersebut tidak akan pernah sama.

    user_name varchar (30)
    perintah diatas berarti bahwa:
    buat sebuah kolom dengan nama user_name, bertipe varchar, dengan panjang max 30.

    tampilkan table pada database belajar
    mysql> show tables;
    +——————-+
    | Tables_in_belajar |
    +——————-+
    | user |
    +——————-+
    1 row in set (0.00 sec)

    memasukan data ke sebuah table.
    mysql> insert into user values(’1′,’hhan’);

    maksud perintah diatas adalah:
    masukan data pada table user dengan id=1 dan user_name=hhan

    lihat isi table user
    mysql> select * from user;
    +—-+———–+
    | id | user_name |
    +—-+———–+
    | 1 | hhan |
    +—-+———–+
    1 row in set (0.01 sec)

    masukan data ke 2 pada table user
    mysql> insert into user values(”,’hhan2′);

    maksud perintah diatas adalah:
    masukan data pada table user dengan id kosong dan user_name=hhan2
    sebelumnya telah dijelaskan bahwa id bersifat primary_key dan
    tidak boleh kosong, tapi pada perintah diatas kita mengosongkan id.
    pertanyaanya adalah kenapa hal tersebut bisa terjadi?
    hal itu karena id bersifat auto_increment, jadi meskipun kita tidak
    memasukan nilai dari id mysql akan mengenerate id tersebut sesuai dengan
    id pada row sebelumnya, yaitu id sekarang = id row sebelumnya + 1.

    tampilkan isi dari table user
    mysql> select * from user;
    +—-+———–+
    | id | user_name |
    +—-+———–+
    | 1 | hhan |
    | 2 | hhan2 |
    +—-+———–+
    2 rows in set (0.77 sec)

    demikian langkah-langkah dasar untuk membuat sebuah database menggunakan mysql.
    untuk lebih mendalam lagi akan dibahas pada lain kesempatan.
    terimakasih

    originall author:
    hhan
    h_h_a_n@yahoo.com
    hhan.wordpress.com

    Load Balance Mikrotik

    The typical situation where you got one router and want to connect to two ISPs:

    Image:dual_gw_01.jpg

    Of course, you want to do load balancing! There are several ways how to do it. Depending on the particular situation, you may find one best suited for you.

    Policy Routing based on Client IP Address

    If you have a number of hosts, you may group them by IP addresses. Then, depending on the source IP address, send the traffic out through Gateway #1 or #2. This is not really the best approach, giving you perfect load balancing, but it's easy to implement, and gives you some control too.

    Let us assume we use for our workstations IP addresses from network 192.168.100.0/24. The IP addresses are assigned as follows:

    • 192.168.100.1-127 are used for Group A workstations
    • 192.168.100.128-253 are used for Group B workstations
    • 192.168.100.254 is used for the router.

    All workstations have IP configuration with the IP address from the relevant group, they all have network mask 255.255.255.0, and 192.168.100.254 is the default gateway for them. We will talk about DNS servers later.

    Now, when we have workstations divided into groups, we can refer to them using subnet addressing:

    • Group A is 192.168.100.0/25, i.e., addresses 192.168.100.0-127
    • Group B is 192.168.100.128/25, i.e., addresses 192.168.100.128-255
    If you do not understand this, take the TCP/IP Basics course,
    or, look for some resources about subnetting on the Internet!

    We need to add two IP Firewall Mangle rules to mark the packets originated from Group A or Group B workstations.

    For Group A, specify

    • Chain prerouting and Src. Address 192.168.100.0/25
    • Action mark routing and New Routing Mark GroupA.

    Image:dual_gw_22.jpg

    It is a good practice to add a comment as well. Your mangle rules might be interesting for someone else and for yourself as well after some time.

    For Group B, specify

    • Chain prerouting and Src. Address 192.168.100.128/25
    • Action mark routing and New Routing Mark GroupB

    Image:dual_gw_25.jpg

    All IP traffic coming from workstations is marked with the routing marks GroupA or GroupB. We can use these marks in the routing table.

    Next, we should specify two default routes (destination 0.0.0.0/0) with appropriate routing marks and gateways:

    Image:dual_gw_26.jpg

    This thing is not going to work, unless you do masquerading for your LAN! The simplest way to do it is by adding one NAT rule for Src. Address 192.168.100.0/24 and Action masquerade:

    Image:dual_gw_28.jpg

    Test the setup by tracing the route to some IP address on the Internet!

    From a workstation of Group A, it should go like this:

    C:\>tracert -d 8.8.8.8

    Tracing route to 8.8.8.8 over a maximum of 30 hops

    1 2 ms 2 ms 2 ms 192.168.100.254
    2 10 ms 4 ms 3 ms 10.1.0.1
    ...

    From a workstation of Group B, it should go like this:

    C:\>tracert -d 8.8.8.8

    Tracing route to 8.8.8.8 over a maximum of 30 hops

    1 2 ms 2 ms 2 ms 192.168.100.254
    2 10 ms 4 ms 3 ms 10.5.8.1
    ...

    You can specify the DNS server for workstations quite freely, just make it can be reached (test it by tracing the route to DNS server's IP address)!