Install MySQL Server CentOS 7
Install MySQL Server CentOS 7 – Artikel kali ini akan membahas cara Install MySQL Server CentOS 7 secara bertahap. Untuk cara instalasi centOS 7 bisa anda lihat di artikel sebelumnya Install Centos 7 64 Bit Minimal Server
Install MySQL Server CentOS 7
Update Repository
1 2 3 4 5 |
sudo yum clean all sudo yum -y update sudo yum -y localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm |
Install MySQL Server
1 2 3 |
sudo yum -y install mysql-community-server |
Setelah proses instalasi selesai, aktifkan dan jalankan MySQL dengan perintah sebagai berikut:
1 2 3 4 |
sudo systemctl enable mysqld sudo systemctl start mysqld |
Cek Status MySQL Server
Untuk cek status MySQL gunakanperintah sebagai berikut:
1 2 3 |
sudo systemctl status mysqld |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
â mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2019-05-05 01:49:36 WIB; 3s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 6804 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 6729 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 6806 (mysqld) CGroup: /system.slice/mysqld.service ââ6806 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid Apr 05 19:49:28 srv3.cacan.local systemd[1]: Starting MySQL Server... Apr 05 19:49:36 srv3.cacan.local systemd[1]: Started MySQL Server. |
Untuk Restart dan Stop menggunakan perintah berikut:
1 2 3 4 |
sudo systemctl restart mysql sudo systemctl stop mysql |
Hardening MySQL Server
Setelah proses instalasi selesai, kita cari tahu password root yang sudah dibuatkan auto-generated pada waktu installasi dengan cara perintah berikut:
1 2 3 |
sudo grep 'temporary password' /var/log/mysqld.log |
1 2 3 |
2018-04-08T18:49:29.857928Z 1 [Note] A temporary password is generated for root@localhost: _HXGtqVJi0IT |
Selanjutnya kita hardening dan configurasi MySQL server seperti berikut
1 2 3 |
mysql_secure_installation |
Dan konfigurasikan sebagai berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
Securing the MySQL server deployment. Enter password for user root: The existing password for the user account root has expired. Please set a new password. New password: Re-enter new password: Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done! |
Akses Ke MySQL Server
Untuk masuk ke MySQL Server gunakan perintah berikut melalui terminal consule :
1 2 3 4 |
mysql -uroot -p Enter password: |
Melihat Database
Untuk melihat database apa yang di MySQL, dari terminal consule ketikan perintah berikut:
1 2 3 |
show databases; |
Membuat Database baru
Untuk membuat database baru, ketikkan perintah:
1 2 3 |
create database nama_database; |
Untuk nama_database silahkan anda ubah menjadi nama database sesuai dengan nama database yang anda ingin buat.
Dalam artikel ini kita akan membuat database sisfopeg, sehingga perintahnya menjadi:
1 2 3 |
create database sisfopeg; |
Menggunakan Database
Untuk menggunakan database yang ada di MySQL, ketikkan perintah:
1 2 3 |
use nama_database; |
Jika anda sebelumnya sudah membuat database sisfopeg, maka jika kita akan menggunakan database ini gunakan perintah berikut:
1 2 3 |
use sisfopeg; |
Membuat Table
Di dalam database sisfopeg, kita akan membuat tabel-tabel dengan format:
1 2 3 |
create table nama_tabel (nama_data tipe_data (panjang_karakter), ...); |
Tipe-tipe data pada MySQL bermacam-macam dan dapat dilihat lengkap di dev.msql.com.
Panjang_karakter merupakan jumlah karakter maksimum yang ditampung di dalam sebuah field. Sekarang kita akan mencoba membuat tabel pegawai.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
CREATE TABLE `pegawai` ( `pegawai_id` int(10) UNSIGNED NOT NULL, `nama_pegawai` varchar(10) NOT NULL, `tempat_lahir` varchar(20) NOT NULL, `tanggal_lahir` date NOT NULL, `mulai_bekerja` date NOT NULL, `alamat` text NOT NULL, `kota` varchar(20) NOT NULL, `propinsi` varchar(30) NOT NULL, `kodepos` int(11) NOT NULL, `no_telp` varchar(20) NOT NULL, `no_handphone` int(11) NOT NULL ); |
Melihat Table
Untuk melihat table yang sudah kita buat, ketikkan perintah:
1 2 3 |
show tables; |
Namun, untuk melihat sebuah table yang lebih lengkap beserta tipe-tipe datanya, ikuti format berikut:
1 2 3 |
describe nama_table; |
Dari contoh yang sebelumnya kita buat, maka perintahnya sebagai berikut:
1 2 3 |
describe pegawai; |
Merubah Nama Field
Apabila kita ingin merubah nama field pada tabel yang sudah jadi, maka harus mengikuti format:
1 2 3 |
alter table nama_table change nama_field_lama nama_field_baru tipe_data(panjang_karakter); |
Pada perintah ini, tipe_data dan panjang_karakter dapat dirubah.
Pada contoh disini, kita akan merubah field no_telp menjadi no_telepon, dan type datanya diubah dari varchar(20) menjadi int(11).
Perintahnya akan seperti ini::
1 2 3 |
alter table pegawai change no_telp no_telepon int(11); |
Untuk melihatnya hasil dari yang telah kita rubah, ketikkan:
1 2 3 |
describe pegawai; |
Merubah Tipe Data
Jika kita ingin merubah tipe data sebuah field, maka harus mengikuti format:
1 2 3 |
alter table nama_table modify nama_field tipe_data_baru(panjang_karakter); |
Pada contoh disini, kita akan merubah type data pada field nama_pegawai dari varchar(10) menjadi varchar(30), maka perintahnya sebagai berikut:
1 2 3 |
alter table pegawai modify nama_pegawai varchar(30); |
Mengubah Nilai Default Data Suatu Field
Jika kita ingin mengubah nilai default data sebuah field, maka harus mengikuti format:
1 2 3 |
alter table nama_table change nama_field nama_field type_data not_null default value; |
Pada contoh disini, kita akan merubah nilai default data pada field mulai_bekerja menjadi ‘2005-02-10’, maka perintahnya sebagai berikut:
1 2 3 |
Alter table pegawai change mulai_bekerja mulai_bekerja DATE NOT NULL DEFAULT '2005-02-10'; |
Menambah Kolom/Field
Format untuk menambah kolom/field pada sebuah tabel adalah:
Menambah Kolom/Field
Format untuk menambah kolom/field pada sebuah tabel adalah:
1 2 3 |
alter table nama_table add field_baru tipe_data(panjang_karakter); |
Pada contoh disini, kita akan menambahkan field baru yaitu email dengan type data varchar(30) pada table pegawai, maka perintahnya sebagai berikut:
1 2 3 |
alter table pegawai add email varchar(30); |
Kita juga bisa menambahkan kolom/ field setelah field lain. Misalnya menambahkan field email setelah field kodepos, maka perintahnya adalah sebagai berikut:
1 2 3 |
alter table pegawai add email1 varchar(30) NOT NULL AFTER kodepos; |
Menghapus Field/Kolom
Format untuk menghapus kolom/field pada sebuah tabel adalah:
1 2 3 |
alter table nama_table drop nama_field; |
Pada contoh disini, kita akan menghapus field email pada table pegawai. Perintahnya sebagai berikut:
1 2 3 |
alter table pegawai drop email; |
Menambahkan Primary Key
Format untuk mengganti nama tabel adalah:
1 2 3 |
alter table nama_table add primary key (nama_field); |
Pada contoh disini, kita akan membuat field nomor menjadi primary key pada table pegawai. Perintahnya sebagai berikut:
1 2 3 |
alter table pegawai add primary key (pegawai_id); |
Menambahkan Auto Increment
Format untuk mengganti nama tabel adalah:
1 2 3 |
alter table nama_table_lama rename nama_table_baru; |
Pada contoh disini, kita akan menjadikan field nomor menjadi auto increment dan type datanya menjadi int(10) pada table pegawai.
Perintahnya sebagai berikut:
1 2 3 |
alter table pegawai modify pegawai_id int(10) UNSIGNED NOT NULL AUTO_INCREMENT; |
Mengganti Nama Tabel
Format untuk mengganti nama tabel adalah:
1 2 3 |
alter table nama_table_lama rename nama_table_baru; |
Pada contoh disini, kita akan mengganti table pegawai menjadi karyawan. Perintahnya sebagai berikut:
1 2 3 |
alter table pegawai rename karyawan; |
Memasukkan Data-Data
Format untuk memasukkan data-data pada sebuah tabel adalah:
1 2 3 |
insert into nama_table values ('data_field_1','data_field_2',...); |
Pada contoh disini, kita akan memasukan data ke table karyawan. INGAT….! type data pada field_1 (pegawai_id) menggunakan int auto_incremet. Jadi field dan value dari nomor kita lewatkan saja karena akan terinput otomatis dengan nilai auto increment. Jadi perintahnya adalah sebagai berikut:
1 2 3 4 5 6 7 8 9 10 |
INSERT INTO karyawan (nama_pegawai, tempat_lahir, tanggal_lahir, mulai_bekerja, alamat, kota, propinsi, kodepos, no_telepon, no_handphone) VALUES ('Adbul Syukur Hairi', 'Jakarta', '1977-10-20', '2005-04-21', 'Jl. Batu I/36 A RT.014/05\r\nPejaten Timur', 'Jakarta Selatan', 'DKI Jakarta', 0, 0, 0), ('Ade Kartono', 'Jakarta', '1978-04-21', '2005-02-10', 'Jl. Haji Azra\'i RT.007/01\r\nMenteng Dalam', 'Jakarta Selatan', 'DKI Jakarta', 0, 0, 0), ('Amalia', 'Jakarta', '1978-06-20', '2005-02-10', 'Jl. Pedati I/26 RT.004/010\r\nBidaracina', 'Jakarta Timur', 'DKI Jakarta', 0, 0, 0), ('Arief Budiman', 'Jakarta', '1978-02-11', '2005-02-10', 'Gg. Subur Ujung No.12 RT.012/015\r\nMenteng Atas', 'Jakarta Selatan', 'DKI Jakarta', 0, 0, 0), ('Balqis', 'Jakarta', '1978-03-13', '2005-02-10', 'Jl. Kampung Melayu Kecil III/14 RT.011/09', 'Jakarta Selatan', 'DKI Jakarta', 0, 0, 0); |
Mengubah Data-Data
Format untuk merubah data-data pada sebuah tabel adalah:
1 2 3 |
update nama_table set nama_field='isian_baru' where nama_field_lain='isi_field_tersebut'; |
Pada contoh disini, kita akan mengganti isi data field nama pada table karyawan dengan kunci pegawai_id=1. Perintahnya sebagai berikut:
1 2 3 |
update karyawan set nama_pegawai='Rahman Syukur Hairi' where pegawai_id=1; |
maka data nama yang mempunyai nomor 1 akan berubah menjadi ‘Rahman Syukur Hairi’.
Menampilkan Data-Data
Format umum untuk melihat data-data pada sebuah tabel adalah:
1 2 3 |
select nama_field from nama_table where nama_field_lain='isi_field_tersebut'; |
Untuk melihat data-data di dalam table MySQL kita bisa melihatnya dengan berbagai macam cara, seperti:
Menampilkan semua kolom
Format:
1 2 3 |
select * from nama_table; |
Contoh:
1 2 3 |
select * from karyawan; |
Menampilkan kolom tertentu
Format:
1 2 3 |
select nama_field from nama_table; |
Contoh:
1 2 3 |
select nama_pegawai, no_telepon from karyawan; |
Menampilkan kolom tertentu dengan kondisi tertentu
Format:
1 2 3 |
select nama_field from nama_table where nama_field_lain='isi_field_tersebut'; |
Contoh:
1 2 3 |
select nama_pegawai from karyawan where kota='jakarta Selatan'; |
Menghindari Pengulangan Data Pada Kolom
Format:
1 2 3 |
select distinct nama_field from nama_table; |
Contoh:
1 2 3 |
select distinct kota from karyawan; |
Membatasi data yang ditampilkan
Format:
1 2 3 |
select nama_field_yang_mau_ditampilkan from nama_table limit dari_baris,sampai_baris; |
Contoh:
1 2 3 |
select * from karyawan limit 2; |
1 2 3 |
select * from karyawan limit 2,3; |
Mengurutkan data
Format:
1 2 3 |
select nama_field_yang_mau_ditampilkan from nama_table order by nama_field klausa; |
Klausa format ini ada 2 yaitu asc yaitu akan mengurutkan data naik dari yang terkecil dan desc yaitu kebalikannya.
Contoh:
1 2 3 |
select nama_pegawai, tempat_lahir, tanggal_lahir from karyawan order by nama_pegawai asc; |
1 2 3 |
select nama_pegawai, tempat_lahir, tanggal_lahir from karyawan order by nama_pegawai desc; |
Menggabungkan beberapa kondisi
Format:
1 2 3 |
select nama_field_yang_mau_ditampilkan from nama_table where nama_field=’isi_field’ operator_logika nama_field=’isi_field’; |
Opearator_logika disini ada 2 yaitu AND dan OR. Untuk melihat perbedaan diantara keduanya, perhatikan gambar dibawah ini:
1 2 3 |
select nama_pegawai, tempat_lahir, tanggal_lahir, kota from karyawan where nama_pegawai='amalia' AND kota='Jakarta Timur'; |
1 2 3 |
select nama_pegawai, tempat_lahir, tanggal_lahir, kota from karyawan where nama_pegawai ='Balqis' OR tanggal_lahir='1978-04-21'; |
Memberi batas data
Format:
1 2 3 |
select nama_field_yang_mau_ditampilkan from nama_table where nama_field between isi_field and isi_field; |
Contoh:
1 2 3 |
select pegawai_id, nama_pegawai from karyawan where pegawai_id between 3 AND 4; |
Mencari Data Dengan Kriteria Tertentu
Format:
1 2 3 |
select nama_field_yang_mau_ditampilkan from nama_table where nama_field like ‘%’; |
‘%’ ada 3 macam, yaitu:
‘keyword%’: mencari data yang diawali dengan
keyword
‘%keyword’: mencari data yang diakhiri
dengan keyword
‘%keyword%’: mencari data yang mengandung
keyword
Contoh:
1 2 3 4 5 6 |
select nama_pegawai from karyawan; select nama_pegawai from karyawan where nama_pegawai like 'a%'; select nama_pegawai from karyawan where nama_pegawai like '%o'; select nama_pegawai from karyawan where nama_pegawai like '%man%'; |
Menghapus Tabel
Format:
1 2 3 |
drop table nama_table; |
Dari contoh yang sebelumnya kita buat, maka perintahnya sebagai berikut:
1 2 3 |
drop table karyawan; |
Menghapus Database
Format:
1 2 3 |
drop database nama_database; |
Dari contoh yang sebelumnya kita buat, maka perintahnya sebagai berikut:
1 2 3 |
drop database sisfopeg; |
Keluar dari MySQL
Perintah:
1 2 3 |
quit; |
atau
1 2 3 |
exit; |
atau
1 2 3 |
\q |
Sampai disini cara Install MySQL Server CentOS 7 sudah selesai. Pada kesempatan lain kita akan bahas tentang MySQL Server lebih mendalam lagi.
Semoga bermanfaat