MySQL: Duplicate table

Duplikasi struktur table nya saja tanpa data

CREATE TABLE new_table LIKE original_table;

Perintah di atas akan membuat duplikat struktur table new_table yang sama persis dengan original_table.

Untk menyalin datanya dapat menggunakan perintah sebagai berikut:

INSERT INTO new_table SELECT * FROM original_table;

Reference: https://popsql.com/learn-sql/mysql/how-to-duplicate-a-table-in-mysql

Insert MySQL Table from *.csv file

Setup local infile

Sebelum dapat melakukan load data secara local ke dalam database, maka perlu memastikan bahwa load infile dalam kondisi aktif

Periksa status local infile

mysql> show global variables like 'local_infile';

Akan memberikan informasi seperti di bawah ini:

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | OFF   |
+---------------+-------+
1 row in set (0.00 sec)

Untuk mengaktifkan gunakan perintah berikut:

mysql> set global local_infile=true;

Setelah itu silahkan connect ke database dengan parameter local infile

mysql --local_infile=1 -u root -ppassword DB_name

Dan lakukan load data local, seperti:

mysql> load data local infile 'path/file_name.extention' into table table_name;

INSERT

Misalkan kita memiliki table berikut ini:

mysql> desc temp_user_info_data;
+------------+------------+------+-----+---------+----------------+
| Field      | Type       | Null | Key | Default | Extra          |
+------------+------------+------+-----+---------+----------------+
| id         | bigint(10) | NO   | PRI | NULL    | auto_increment |
| userid     | bigint(10) | NO   | MUL | 0       |                |
| fieldid    | bigint(10) | NO   |     | 0       |                |
| data       | longtext   | NO   |     | NULL    |                |
| dataformat | tinyint(2) | NO   |     | 0       |                |
+------------+------------+------+-----+---------+----------------+

Catatan: untuk melihat info lebih detail tentang table dan bagaimana table tersebut di buat, Anda dapat menggunakan perintah:

mysql> desc namatable

atau

mysql> show create table namatable;

Kemudian file data kita diletakkan di /root dengan nama file data *.csv: contoh.csv seperti berikut:

5791,23,11
19766,23,11

Lalu lakukan load data:

mysql> load data local infile '/root/contoh.csv' into table temp_user_info_data fields terminated by ',' (userid,fieldid,data);
Query OK, 2 rows affected (0.01 sec)
Records: 2  Deleted: 0  Skipped: 0  Warnings: 0

Jika data Anda memiliki satu baris pertama yang berisi nama kolom, maka berikan ignore 1 lines seperti berikut:

mysql> load data local infile '/root/contoh.csv' into table temp_user_info_data fields terminated by ',' ignore 1 lines (userid,fieldid,data);

Mod rewrite (part.1)

Mod Rewrite part.1

Mod_Rewrite memungkinkan Anda membuat URL khusus dan sederhana sesuai kebutuhan.

Tulisan ini akan membahas tentang bagaimana mengaktifkan Mod_Rewrite, Membuat dan Menggunakan halaman .htaccess yang diperlukan, dan menyiapkan penulisan ulang URL.

Before we begin generating the actual URL rewrites, we need to activate the apache mod_rewrite module that controls them.

sudo a2enmod rewrite

Perintah mengaktifkan modul atau—jika sudah diaktifkan, menampilkan kata-kata, “Module rewrite sudah diaktifkan”

Setelah modul diaktifkan, Anda dapat mengatur penulisan ulang URL dengan membuat file .htaccess di direktori situs web Anda.

File .htaccess adalah cara untuk mengonfigurasi detail situs web Anda tanpa perlu mengubah file konfigurasi server. Tanda titik yang meng’awali’ nama file akan membuat file ini tidak tampak secara default di dalam folder.

Selain itu, peletakan file .htaccess juga penting. Konfigurasi dalam file itu akan memengaruhi semua yang ada di direktori dan direktori di bawahnya.

Cara mengizinkan perubahan dalam file .htaccess

Untuk mengizinkan file .htaccess menimpa konfigurasi situs web standar, kita awali dengan dengan membuka file konfigurasi. Catatan: Anda memerlukan hak sudo untuk langkah ini.

sudo nano /etc/apache2/sites-available/default

Setelah berada di dalam file itu, temukan bagian berikut, dan ubah baris yang mengatakan AllowOverride dari None menjadi All. Bagian tersebut sekarang akan terlihat seperti ini:

<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
 </Directory>

Setelah Anda menyimpan dan keluar dari file itu, restart apache. File .htaccess sekarang akan tersedia untuk semua situs Anda.

sudo service apache2 restart

Refference: Digital Ocean: How To Set Up Mod_Rewrite

Netplan & DNS nameserver Ubuntu 18.04

Selama bertahun untuk setting nameserver kita cukup mengganti /etc/resolv.conf :

nameserver 8.8.4.4
nameserver 8.8.8.8

selain itu kita dapat  merubah di /etc/network/interfaces menjadi

dns-addresses 8.8.4.4, 8.8.8.8

Lalu restart :

sudo systemctl restart networking

atau

sudo /etc/init.d/networking restart

Saat ini versi terbaru ubuntu mulai menggunakan Netplan.

Netplan adalah utilitas baris perintah untuk konfigurasi jaringan pada distribusi Linux tertentu. Netplan menggunakan file deskripsi YAML untuk mengkonfigurasi antarmuka jaringan dan, dari deskripsi tersebut, akan menghasilkan pilihan konfigurasi yang diinginkan untuk alat render (eg. network-manager).

File yang perlu kita setup adalah : /etc/netplan/01-*/yaml.

Sehingga kita perlu meletakkan code seperti berikut di dalamnya:

nameserver:
   addresses: [8.8.4.4, 8.8.8.8]

 

Fix Error #551 in phpMyAdmin 18.04

Error message containts :

Warning in ./libraries/plugin_interface.lib.php#551
count(): Parameter must be an array or an object that implements Countable

Solution:

You can also fix this by editing the library itself.

  1. Make a backup first
    sudo cp /usr/share/phpmyadmin/libraries/plugininterface.lib.php /usr/share/phpmyadmin/libraries/plugininterface.lib.php.bak
  2. Edit the library
    sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
  3. Search for “if (! is_null($options) && count($options) > 0) {”
    or if not found then search for “if ($options != null && count($options) > 0) {”

Then replace it with “if ($options != null) {”

To search in Nano editor press CTRL and W

  1. Save the file (CTRL and O)
  2. Refresh the phpMyAdmin page and try agin.

Backup Stored Procedures and Routines

We need to specify --routines to take backup of stored procedures with data and tables.

The following command will take backup of entire database including stored procedures. For example, your database name is “mydb”.

mysqldump -u root -p –routines mydb > mydb.sql

To take backup of only Stored Procedures and Triggers (Exclude table and data ) use the following command.

mysqldump –routines –no-create-info –no-data –no-create-db –skip-opt mydb > mydb.sql

Reference:
https://tecadmin.net

How to Change Hostname on Ubuntu 18.04

View the current hostname

$ hostnamectl
 Static hostname: dbserver
         Icon name: computer-vm
           Chassis: vm
        Machine ID: baf17aaaa3c343c48cc85d38fa7534c8
           Boot ID: 0c82f3ccd20c4fda9d6d317d551d3ba9
    Virtualization: kvm
  Operating System: Ubuntu 18.04.4 LTS
            Kernel: Linux 4.15.0-1058-aws
      Architecture: x86-64

As you can see in the image above, the current hostname is set to dbserver.

Now, we will change the hostname

1. Using hostnamectl command

sudo hostnamectl set-hostname dbserver2

2. Edit the /etc/hosts file

127.0.0.1   localhost
127.0.0.1   dbserver2

 

Memasang OpenVpn pada Ubuntu 16.04 LTS

Rerefensi : https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04

Introduction

Ingin mengakses Internet dengan aman dan aman dari smartphone atau laptop Anda ketika terhubung ke jaringan tidak terpercaya seperti WiFi dari hotel atau kedai kopi? Virtual Private Network (VPN) memungkinkan Anda untuk melintasi jaringan yang tidak dipercaya secara pribadi dan aman seolah-olah Anda berada di jaringan pribadi. Lalu lintas muncul dari server VPN dan melanjutkan perjalanannya ke tujuan.

When combined with HTTPS connections, this setup allows you to secure your wireless logins and transactions. You can circumvent geographical restrictions and censorship, and shield your location and any unencrypted HTTP traffic from the untrusted network.

OpenVPN is a full-featured open source Secure Socket Layer (SSL) VPN solution that accommodates a wide range of configurations. In this tutorial, we’ll set up an OpenVPN server on a Droplet and then configure access to it from Windows, OS X, iOS and Android. This tutorial will keep the installation and configuration steps as simple as possible for these setups.

Prerequisites

Untuk menyelesaikan tutorial ini, Anda akan memerlukan akses ke server Ubuntu 16.04.

Anda perlu mengkonfigurasi pengguna non-root dengan hak akses sudo sebelum Anda memulai panduan ini. Anda dapat mengikuti panduan pengaturan server awal Ubuntu 16.04 kami untuk mengatur pengguna dengan izin yang sesuai. Tutorial yang terhubung juga akan mengatur firewall, yang akan kita anggap sudah ada selama panduan ini.

===bersambung===

PostgreSQL remote connection

This arcticle was writen based PostgreSQL version 10.10 and running on Ubuntu 18.04

Configuring postgresql.conf

Find postgresql.conf

$ find / -name "postgresql.conf"
/usr/lib/tmpfiles.d/postgresql.conf
/etc/postgresql/10/main/postgresql.conf

Open file /etc/postgresql/10/main/postgresql.conf and replace line

listen_addresses = 'localhost'

with

listen_addresses = '*'

Configuring pg_hba.conf

Open file /etc/postgresql/10/main/pg_hba.conf and add following entry at the very end

host    all             all     0.0.0.0/0                    md5
host    all             all     ::/0                         md5

Do not get confused by “md5” option mentioned above. All it means is that a password needs to be provided. If you want client to allow collection without providing any password then change “md5” to “trust” and that will allow connection unconditionally.

Restart postgresql server.

Membuat seluruh elemen dalam Form tidak dapat diakses

Dengan memberikan attribut disabled pada elemen Fieldset

<form id="form1">
    <fieldset disabled>
        <input/>
        <input/>
        <input/>
    </fieldset>
</form>
<br>
<button id="btn_edit">Edit On</button><br>
<button id="btn_lock">Edit Off</button>

Jika menggunakan jQuery :

$("#btn_edit").click(function(){
        $("#form1 :fieldset").prop('disabled',false);
    });

$("#btn_lock").click(function(){
        $("#form1 :fieldset").prop('disabled',true);
    });

 

1 2 3 4 11