MySQL adalah database relasional sumber terbuka yang gratis dan banyak digunakan. Ini adalah pilihan yang baik jika Anda tahu bahwa Anda memerlukan database tetapi tidak tahu banyak tentang semua opsi yang tersedia
Artikel ini menjelaskan penginstalan dasar server database MySQL di sistem operasi Ubuntu. Anda mungkin perlu menginstal paket lain agar aplikasi dapat menggunakan MySQL, seperti ekstensi untuk PHP. Periksa dokumentasi aplikasi Anda untuk detailnya
Instal server MySQL dengan menggunakan pengelola paket sistem operasi Ubuntu
sudo apt-get update sudo apt-get install mysql-serverPenginstal menginstal MySQL dan semua dependensi
Jika utilitas penginstalan aman tidak diluncurkan secara otomatis setelah penginstalan selesai, masukkan perintah berikut
sudo mysql_secure_installation utility _Utilitas ini meminta Anda untuk menentukan kata sandi root mysql dan opsi terkait keamanan lainnya, termasuk menghapus akses jarak jauh ke pengguna root dan menyetel kata sandi root
Izinkan akses jarak jauh
Jika Anda mengaktifkan iptables dan ingin terhubung ke database MySQL dari komputer lain, Anda harus membuka port di firewall server Anda (port default adalah 3306). Anda tidak perlu melakukan ini jika aplikasi yang menggunakan MySQL berjalan di server yang sama
Jalankan perintah berikut untuk mengizinkan akses jarak jauh ke server mysql
sudo ufw enable sudo ufw allow mysqlMulai layanan MySQL
Setelah instalasi selesai, Anda dapat memulai layanan database dengan menjalankan perintah berikut. Jika layanan sudah dimulai, sebuah pesan memberitahu Anda bahwa layanan sudah berjalan
sudo systemctl start mysqlLuncurkan saat reboot
Untuk memastikan bahwa server database diluncurkan setelah reboot, jalankan perintah berikut
sudo systemctl enable mysql _Konfigurasikan antarmuka
MySQL, secara default tidak lagi terikat ( mendengarkan ) antarmuka yang dapat diakses dari jarak jauh. Edit direktif “bind-address” di /etc/mysql/mysql. conf. d/mysqld. cnf
Mulai ulang layanan mysql
sudo systemctl restart mysql _Mulai shell mysql
Ada lebih dari satu cara untuk bekerja dengan server MySQL, tetapi artikel ini berfokus pada pendekatan paling dasar dan kompatibel, shell sudo ufw enable sudo ufw allow mysql 3
Pada prompt perintah, jalankan perintah berikut untuk meluncurkan sudo ufw enable sudo ufw allow mysql 3 Shell dan masukkan sebagai pengguna root
/usr/bin/mysql -u root -p _Saat Anda dimintai kata sandi, masukkan kata sandi yang Anda setel saat instalasi, atau jika Anda belum menyetelnya, tekan Enter untuk mengirim tanpa kata sandi
Perintah shell sudo ufw enable sudo ufw allow mysql _3 berikut akan muncul
mysql>
Tetapkan kata sandi root
Jika Anda masuk dengan memasukkan kata sandi kosong, atau jika Anda ingin mengubah kata sandi root yang Anda tetapkan, Anda dapat membuat atau mengubah kata sandi
Untuk versi lebih awal dari MySQL 5. 7, masukkan perintah berikut di shell sudo ufw enable sudo ufw allow mysql 3, ganti sudo ufw enable sudo ufw allow mysql 7 dengan kata sandi baru Anda
UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';Untuk versi MySQL 5. 7 dan yang lebih baru, masukkan perintah berikut di shell sudo ufw enable sudo ufw allow mysql 3, ganti sudo ufw enable sudo ufw allow mysql 7 dengan kata sandi baru Anda
sudo mysql_secure_installation utility _0Agar perubahan diterapkan, muat ulang informasi pengguna yang disimpan dengan perintah berikut
sudo mysql_secure_installation utility _1Catatan. Kami menggunakan huruf besar semua untuk perintah SQL. Jika Anda mengetik perintah dalam huruf kecil, perintah tersebut akan berfungsi. Secara konvensi, perintah ditulis dalam huruf besar semua untuk membuatnya menonjol dari nama bidang dan data lain yang sedang dimanipulasi
Jika Anda perlu mengatur ulang kata sandi root nanti, lihat Mereset kata sandi root MySQL
Lihat pengguna
MySQL menyimpan informasi pengguna dalam databasenya sendiri. Nama databasenya mysql. Di dalam database itu informasi pengguna ada di dalam sebuah tabel, sebuah kumpulan data, bernama pengguna. Jika Anda ingin melihat pengguna apa yang disiapkan di tabel pengguna MySQL, jalankan perintah berikut
sudo mysql_secure_installation utility _2Daftar berikut menjelaskan bagian-bagian dari perintah itu
- SELECT memberi tahu MySQL bahwa Anda meminta data
- Pengguna, Host, otentikasi_string memberi tahu MySQL bidang apa yang Anda inginkan. Bidang adalah kategori untuk data dalam tabel. Dalam hal ini, Anda mencari nama pengguna, host yang terkait dengan nama pengguna, dan entri kata sandi terenkripsi
- DARI mysql. user " memberitahu MySQL untuk mendapatkan data dari database mysql dan tabel user
- Titik koma (;) mengakhiri perintah
Catatan. Semua kueri SQL diakhiri dengan titik koma. MySQL tidak memproses kueri hingga Anda mengetik titik koma
Host pengguna
Contoh berikut adalah output untuk kueri sebelumnya
sudo mysql_secure_installation utility _3Pengguna dikaitkan dengan host, khususnya, host tempat mereka terhubung. Pengguna root dalam contoh ini ditentukan untuk localhost, untuk alamat IP localhost, dan nama host server. Anda biasanya perlu menyetel pengguna hanya untuk satu host, yang biasanya Anda sambungkan
Jika Anda menjalankan aplikasi di komputer yang sama dengan server MySQL, host yang terhubung secara default adalah localhost. Setiap pengguna baru yang Anda buat harus memiliki localhost di kolom host mereka
Jika aplikasi Anda terhubung dari jarak jauh, entri host yang dicari MySQL adalah alamat IP atau nama host DNS dari komputer jarak jauh (yang berasal dari klien)
Pengguna anonim
Dalam contoh keluaran, satu entri memiliki nilai host tetapi tidak ada nama pengguna atau kata sandi. Itu pengguna anonim. Saat klien terhubung tanpa nama pengguna yang ditentukan, ia mencoba terhubung sebagai pengguna anonim
Anda biasanya tidak menginginkan pengguna anonim, tetapi beberapa instalasi MySQL menyertakannya secara default. Jika Anda melihatnya, Anda harus menghapus pengguna (merujuk ke nama pengguna dengan tanda kutip kosong, seperti ' ‘) atau menyetel kata sandi untuknya
Buat basis data
Ada perbedaan antara server basis data dan basis data, meskipun istilah tersebut sering digunakan secara bergantian. MySQL adalah server basis data, artinya melacak basis data dan mengontrol akses ke sana. Basis data menyimpan data, dan itu adalah basis data yang coba diakses oleh aplikasi ketika mereka berinteraksi dengan MySQL
Beberapa aplikasi membuat database sebagai bagian dari proses penyiapannya, tetapi yang lain mengharuskan Anda membuat database sendiri dan memberi tahu aplikasi tentangnya
Untuk membuat database, masuk ke sudo ufw enable sudo ufw allow mysql _3 Shell dan jalankan perintah berikut, ganti sudo systemctl start mysql 1 dengan nama database yang ingin Anda buat
sudo mysql_secure_installation utility _4Setelah database dibuat, Anda dapat memverifikasi pembuatannya dengan menjalankan kueri untuk mencantumkan semua database. Contoh berikut menampilkan kueri dan contoh output
sudo mysql_secure_installation utility _5Tambahkan pengguna basis data
Ketika aplikasi terhubung ke database menggunakan pengguna root, mereka biasanya memiliki lebih banyak hak istimewa daripada yang mereka butuhkan. Anda dapat menambahkan pengguna yang dapat digunakan aplikasi untuk terhubung ke database baru. Dalam contoh berikut, pengguna bernama demouser dibuat
Untuk membuat pengguna baru, jalankan perintah berikut di sudo ufw enable sudo ufw allow mysql 3 Shell
sudo mysql_secure_installation utility _6Saat Anda membuat perubahan pada tabel pengguna di database mysql, beri tahu MySQL untuk membaca perubahan dengan membilas hak istimewa, sebagai berikut
sudo mysql_secure_installation utility _1Verifikasi bahwa pengguna dibuat dengan menjalankan kembali kueri SELECT
sudo mysql_secure_installation utility _8
Berikan izin pengguna basis data
Tepat setelah Anda membuat pengguna baru, itu tidak memiliki hak istimewa. Pengguna dapat masuk, tetapi tidak dapat digunakan untuk membuat perubahan basis data apa pun
Berikan izin penuh kepada pengguna untuk database baru Anda dengan menjalankan perintah berikut
sudo mysql_secure_installation utility _9Siram hak istimewa untuk menjadikan perubahan resmi dengan menjalankan perintah berikut
sudo mysql_secure_installation utility _1Untuk memverifikasi bahwa hak istimewa tersebut telah ditetapkan, jalankan perintah berikut
sudo ufw enable sudo ufw allow mysql 1MySQL mengembalikan perintah yang diperlukan untuk mereproduksi izin pengguna tersebut jika Anda ingin membangun kembali server. sudo systemctl start mysql 3 berarti pengguna tidak mendapatkan hak istimewa apa pun secara default. Perintah itu diganti dengan perintah kedua, yang merupakan hibah yang Anda jalankan untuk database baru
sudo ufw enable sudo ufw allow mysql 2
Ringkasan
Jika Anda baru saja membuat database dan pengguna, Anda sudah selesai. Konsep yang tercakup di sini akan memberi Anda awal yang solid untuk mempelajari lebih lanjut