Untuk menginstal MySQL secara manual di instance Compute Engine yang telah Anda buat, selesaikan langkah-langkah berikut.
Untuk ringkasan beberapa opsi guna menyiapkan MySQL di Compute Engine, lihat MySQL di Compute Engine. Untuk mempelajari penawaran Compute Engine yang sesuai untuk MySQL, lihat Mengonfigurasi MySQL di Compute Engine.
Sebelum memulai
- Gunakan konsol Trusted Cloud untuk mengaktifkan Compute Engine API.
- Menginstal Google Cloud CLI
Konfigurasikan ruang kerja Anda untuk membuat perintah tidak terlalu panjang. Ganti nilai project Anda untuk PROJECT_ID, REGION, dan ZONE dalam perintah berikut. Untuk mengetahui daftar lengkap zona, lihat Region & zona yang tersedia.
gcloud config set project PROJECT_ID gcloud config set compute/region REGION gcloud config set compute/zone ZONE
Membuat instance Compute Engine dan membuat koneksi SSH
Buat instance Compute Engine untuk MySQL dan buat koneksi SSH ke instance yang baru dibuat. Sistem operasi default-nya adalah Debian versi 10. Jika ingin menggunakan sistem operasi lain untuk tutorial ini, Anda dapat memilih dari opsi yang dijelaskan pada halaman image publik dalam dokumentasi Compute Engine.
Konsol
Membuat instance Compute Engine
Untuk membuat instance Compute Engine di Trusted Cloud console, lakukan hal berikut:
Di konsol Trusted Cloud , buka halaman Compute Engine VM instances.
Pilih project yang baru dibuat, lalu klik Continue.
Klik Create instance (New instance jika Anda memiliki instance yang sudah ada). Beri nama instance mysql-test.
Untuk menentukan sistem operasi selain nilai default, di bagian Boot disk, klik Change untuk mengonfigurasi properti boot disk. Di tab Public image, pilih sistem operasi, lalu klik Save.
Agar sesuai dengan praktik terbaik keamanan, buat instance tanpa alamat IP eksternal.
Luaskan Advanced options dan luaskan Networking. Di bagian Network interfaces, luaskan antarmuka default, dan pada menu External IPv4 address, pilih None.
Klik Buat.
Menyiapkan terjemahan alamat jaringan (NAT)
Untuk menyiapkan dan mengelola penafsiran alamat jaringan (NAT) dengan Cloud NAT, lakukan hal berikut:
Di konsol Trusted Cloud , buka halaman Cloud NAT.
Klik Get started atau Create Cloud NAT gateway.
Untuk Gateway name, masukkan
nat-simple-configuration
.Untuk memilih Cloud Router, di bagian Select Cloud Router, lakukan tindakan berikut:
- Untuk Network, pilih default.
- Untuk Region, pilih region yang Anda tentukan untuk VM.
Untuk Cloud Router, pilih Create new router.
Pada dialog Create a router yang muncul, berikan Name untuk router—misalnya,
nat-router-simple-configuration
—lalu klik Create.
Klik Advanced configurations.
Di bagian Logging, pilih Translation and errors. Setelan ini mengonfigurasi Cloud NAT untuk mengirim semua log ke Cloud Logging.
Klik Buat.
Membuat koneksi SSH ke VM
Untuk membuat koneksi SSH, lakukan langkah-langkah berikut:
Di halaman VM instances, temukan instance VM baru Anda dalam daftar.
Di kolom Connect untuk VM tersebut, klik SSH. Terminal SSH akan terbuka di jendela browser.
gcloud
Untuk membuat instance Compute Engine, gunakan perintah
gcloud compute instances create
. Untuk menentukan sistem operasi, tambahkan parameter--image-family
, diikuti dengan kelompok image atau parameter--image
, diikuti dengan nama image untuk versi image tertentu. Misalnya, untuk menggunakan image terbaru dari kelompok Debian 10, tambahkan--image-family debian-10
. Saat menggunakan image publik, project image harus disediakan menggunakan parameter--image-project
.gcloud compute instances create \ --image-family debian-10 \ --image-project debian-cloud \ --no-address \ mysql-test
Membuat Cloud Router.
gcloud compute routers create nat-router-simple-configuration \ --network=default
Siapkan dan kelola penafsiran alamat jaringan (NAT) dengan Cloud NAT.
gcloud compute routers nats create nat-simple-configuration \ --router=nat-router-simple-configuration \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --enable-logging
Hubungkan ke instance menggunakan
ssh
.gcloud compute ssh \ --tunnel-through-iap \ mysql-test
Koneksi SSH dibuat menggunakan penerusan TCP yang ditangani oleh Identity-Aware Proxy (IAP).
Menginstal MySQL
Langkah-langkah berikut menjelaskan cara menginstal MySQL di instance Compute Engine.
Debian 10+
Petunjuk ini menginstal MySQL 8 atau 5.7.
Debian versi 10 dan yang lebih baru memuat MariaDB, bukan MySQL sebagai bagian dari sistem pengelolaan paketnya. MariaDB mempertahankan kompatibilitas dengan protokol MySQL, tetapi memiliki set fitur yang berkembang secara independen. Untuk mengetahui detail selengkapnya, lihat MariaDB versus MySQL.
Untuk menginstal MySQL, download paket rilis dan instal secara manual menggunakan perintah dpkg
.
Instal dependensi
wget
.sudo apt-get install -y wget
Download paket rilis MySQL Community Server.
export DEB_FILE=mysql-apt-config_0.8.20-1_all.deb cd /tmp curl -L --output ${DEB_FILE} \ https://dev.mysql.com/get/${DEB_FILE}
Verifikasi integritas file paket rilis.
cat > ${DEB_FILE}.md5 << EOL 799bb0aefb93d30564fa47fc5d089aeb ${DEB_FILE} EOL md5sum --check ${DEB_FILE}.md5
Keaslian dan integritas file akan diverifikasi jika Anda melihat output berikut:
mysql-apt-config_0.8.20-1_all.deb: OK
Setelah Anda memverifikasi file, tambahkan paket MySQL ke repositori paket lokal.
sudo dpkg -i ${DEB_FILE}
Anda akan diminta untuk mengonfirmasi opsi penginstalan, termasuk versi MySQL.
Dengan opsi menu MySQL Server & Cluster teratas yang dipilih, tekan Return, lalu gunakan tombol panah untuk memilih versi server.
Panduan ini mengharapkan Anda untuk memilih MySQL 8.0 atau 5.7. Tekan Return di keyboard setelah memilih versi.
Setelah puas dengan opsi yang dipilih dalam menu konfigurasi, gunakan tombol panah untuk memilih
Ok
pada menu dan tekan Return pada keyboard.Update cache paket.
sudo apt-get update
Jika Anda menerima error GPG yang mirip dengan The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29, impor kunci GPG yang tidak ada dengan perintah yang mengikuti pola ini:
sudo apt-key adv \ --keyserver keyserver.ubuntu.com \ --recv-keys 467B942D3A79BD29
Dalam pesan error demonstratif, kunci publik yang tidak ada adalah
467B942D3A79BD29
; berikan nilai ini dengan opsi--recv-keys
.Ulangi perintah untuk mengupdate cache paket.
Instal MySQL. Proses penginstalan akan memulai layanan MySQL untuk Anda.
sudo apt-get -y install mysql-community-server
Anda akan diminta untuk memberikan beberapa detail penginstalan seperti sandi root.
Debian 9
Petunjuk ini menginstal MySQL 8 atau 5.7.
Secara Default, beberapa versi Debian, seperti Debian 9, menginstal MariaDB sebagai server MySQL default. MariaDB dirancang agar kompatibel dengan MySQL dan dapat dipanggil menggunakan perintah yang sama. Untuk mengetahui detail tentang perbedaan MariaDB dengan MySQL standar, lihat Berpindah dari MySQL ke MariaDB di Debian 9.
Untuk menginstal MySQL, ikuti petunjuk berikut:
Download paket rilis MySQL Community Server.
export DEB_FILE=mysql-apt-config_0.8.17-1_all.deb cd /tmp curl -L --output ${DEB_FILE} \ https://dev.mysql.com/get/${DEB_FILE}
Verifikasi integritas file paket rilis.
cat > ${DEB_FILE}.md5 << EOL 9e393c991311ead61dcc8313aab8e230 ${DEB_FILE} EOL md5sum --check ${DEB_FILE}.md5
Keaslian dan integritas file akan diverifikasi jika Anda melihat output berikut.
mysql-apt-config_0.8.17-1_all.deb: OK
Setelah Anda memverifikasi file, tambahkan paket MySQL ke repositori paket lokal.
sudo dpkg -i ${DEB_FILE}
Anda akan diminta untuk mengonfirmasi opsi penginstalan, termasuk versi MySQL.
Dengan opsi menu MySQL Server & Cluster teratas yang dipilih, tekan Return, lalu gunakan tombol panah untuk memilih versi server.
Panduan ini mengharapkan Anda untuk memilih MySQL 8.0 atau 5.7. Tekan Return di keyboard setelah memilih versi.
Setelah puas dengan opsi yang dipilih dalam menu konfigurasi, gunakan tombol panah untuk memilih
Ok
pada menu dan tekan Return pada keyboard.Update cache paket.
sudo apt-get update
Jika Anda menerima error GPG yang mirip dengan The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29, impor kunci GPG yang tidak ada dengan perintah yang mengikuti pola ini:
sudo apt-key adv \ --keyserver keyserver.ubuntu.com \ --recv-keys 467B942D3A79BD29
Dalam pesan error demonstratif, kunci publik yang tidak ada adalah
467B942D3A79BD29
; berikan nilai ini dengan opsi--recv-keys
.Ulangi perintah untuk mengupdate cache paket.
Instal MySQL. Proses penginstalan akan memulai layanan MySQL untuk Anda.
sudo apt-get -y install mysql-community-server
Ubuntu
Untuk Ubuntu 1804 dan yang lebih lama, petunjuk ini menginstal MySQL 5.7.
Untuk Ubuntu 2004 dan yang lebih baru, petunjuk ini menginstal MySQL 8.
Update pengelola paket
apt-get
.sudo apt-get update
Instal MySQL. Proses penginstalan akan memulai layanan MySQL untuk Anda.
sudo apt-get -y install mysql-server
Secara default dalam distribusi Ubuntu, mysql mengautentikasi pengguna
root
dengan pluginauth_socket
. Jalankan kueri ini untuk memverifikasi konfigurasi default ini:echo "SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user='root' ;" \ | sudo mysql -t -u root
Output menunjukkan bahwa pengguna
root
yang terhubung darilocalhost
akan menggunakan pluginauth_socket
:+------+-----------------------+-------------+-----------+ | user | authentication_string | plugin | host | +------+-----------------------+-------------+-----------+ | root | | auth_socket | localhost | +------+-----------------------+-------------+-----------+
Ubah setelan ini, dan ubah sandi root menjadi sandi yang sulit ditebak:
export PASSWORD=`uuidgen`; echo "Root password is : $PASSWORD" echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$PASSWORD'" \ | sudo mysql -u root
Output-nya berisi sandi root baru:
Root password is : 25fe2177-778a-414f-b80e-5fb8c8671de3
CentOS atau RHEL 7
Petunjuk ini menginstal MySQL 8.
CentOS dan RHEL versi 7 memuat MariaDB, bukan MySQL sebagai bagian dari sistem pengelolaan paketnya. Untuk menginstal MySQL, Anda harus terlebih dahulu mengupdate pengelola paket.
Download paket rilis MySQL Community Server.
export RPM_FILE=mysql80-community-release-el7-4.noarch.rpm cd /tmp curl -L --output ${RPM_FILE} \ https://dev.mysql.com/get/${RPM_FILE}
Verifikasi integritas file paket rilis.
cat > ${RPM_FILE}.md5 << EOL 8b55d5fc443660fab90f9dc328a4d9ad ${RPM_FILE} EOL md5sum --check ${RPM_FILE}.md5
Keaslian dan integritas file akan diverifikasi jika Anda melihat output berikut.
mysql80-community-release-el7-4.noarch.rpm: OK
Update pengelola paket untuk menyertakan MySQL.
sudo rpm -Uvh ${RPM_FILE}
Instal MySQL.
sudo yum -y install mysql-community-server
Mulai server MySQL.
sudo /usr/bin/systemctl start mysqld
Dapatkan sandi root sementara dari log server
sudo cat /var/log/mysqld.log | grep -i 'temporary password'
Rocky Linux atau RHEL 8
Petunjuk ini menginstal MySQL 8.
Rocky Linux, CentOS Stream, dan RHEL versi 8 memuat MariaDB, bukan MySQL sebagai bagian dari sistem pengelolaan paketnya. Untuk menginstal MySQL, Anda harus terlebih dahulu mengupdate pengelola paket.
Download paket rilis MySQL Community Server.
export RPM_FILE=mysql80-community-release-el8-2.noarch.rpm cd /tmp curl -L --output ${RPM_FILE} \ https://dev.mysql.com/get/${RPM_FILE}
Verifikasi integritas file paket rilis.
cat > ${RPM_FILE}.md5 << EOL 0ba3feb1c9ee35d30e5ae683accaf54b ${RPM_FILE} EOL md5sum --check ${RPM_FILE}.md5
Keaslian dan integritas file akan diverifikasi jika Anda melihat output berikut.
mysql80-community-release-el8-2.noarch.rpm: OK
Update pengelola paket untuk menyertakan MySQL.
sudo rpm -iUvh ${RPM_FILE}
Instal MySQL. Selama penginstalan, nonaktifkan repositori AppStream agar penginstalan akan menggunakan server komunitas.
sudo yum module disable -y mysql sudo yum install -y \ --disablerepo=appstream \ mysql-community-server
Mulai server MySQL.
sudo /usr/bin/systemctl start mysqld
Dapatkan sandi root sementara dari log server
sudo cat /var/log/mysqld.log | grep -i 'temporary password'
Meningkatkan keamanan penginstalan MySQL
Untuk meningkatkan keamanan penginstalan MySQL, jalankan perintah mysql_secure_installation
. Jika Anda tidak menyetel sandi selama
proses penginstalan, buat sandi di langkah ini. Untuk mengetahui informasi selengkapnya tentang perintah ini, baca dokumentasi MySQL untuk mysql_secure_installation.
sudo mysql_secure_installation
Terhubung ke MySQL
Langkah-langkah berikut menjelaskan cara terhubung ke MySQL dari instance mysql-test
.
MySQL 8.0
Terhubung ke MySQL menggunakan klien MySQL.
sudo mysql -u root -p
Saat Anda terhubung ke MySQL, perintah akan berubah menjadi
mysql>
.Anda kemudian dapat menjalankan perintah MySQL. Misalnya, perintah berikut menunjukkan thread yang berjalan, termasuk koneksi saat ini.
mysql> SHOW processlist;
+----+-----------------+-----------+------+---------+------+------------------------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-----------------+-----------+------+---------+------+------------------------+------------------+ | 5 | event_scheduler | localhost | NULL | Daemon | 1889 | Waiting on empty queue | NULL | | 14 | root | localhost | NULL | Query | 0 | init | show processlist | +----+-----------------+-----------+------+---------+------+------------------------+------------------+ 2 rows in set (0.00 sec)
Anda dapat menggunakan perintah berikut untuk membuat daftar pengguna.
mysql> SELECT User, Host, authentication_string FROM mysql.user;
+------------------+-----------+------------------------------------------------------------------------+ | User | Host | authentication_string | +------------------+-----------+------------------------------------------------------------------------+ | mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | root | localhost | $A$005$,BS{G+*#cVYxb6x40q0aFS5dp2/Kz6u2vennR5qe0eBKVA/6VW5B | +------------------+-----------+------------------------------------------------------------------------+ 4 rows in set (0.00 sec)
Setelah selesai menjalankan perintah, gunakan perintah
exit
untuk keluar dari klien MySQL, lalu gunakanexit
lagi untuk logout dari instance Compute Engine.mysql> exit
Bye
MySQL 5.7
Terhubung ke MySQL menggunakan klien MySQL.
sudo mysql -u root -p
Saat Anda terhubung ke MySQL, perintah akan berubah menjadi
mysql>
.Anda kemudian dapat menjalankan perintah MySQL. Misalnya, perintah berikut menunjukkan thread yang berjalan, termasuk koneksi saat ini.
mysql> SHOW processlist;
+----+------+-----------+------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+-------+------------------+ | 51 | root | localhost | NULL | Query | 0 | NULL | show processlist | +----+------+-----------+------+---------+------+-------+------------------+ 1 row in set (0.00 sec)
Anda dapat menggunakan perintah berikut untuk membuat daftar pengguna.
mysql> SELECT User, Host, authentication_string FROM mysql.user;
+---------------+-----------+-------------------------------------------+ | User | Host | authentication_string | +---------------+-----------+-------------------------------------------+ | root | localhost | *A047B05AAB007B33F8F2BD1FD404661D167D6348 | | mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | +---------------+-----------+-------------------------------------------+ 3 rows in set (0.00 sec)
Setelah selesai menjalankan perintah, gunakan perintah
exit
untuk keluar dari klien MySQL, lalu gunakanexit
lagi untuk logout dari instance Compute Engine.mysql> exit
Bye
Langkah berikutnya
- Untuk informasi lebih lanjut tentang MySQL, lihat dokumentasi resmi MySQL.
- Jelajahi berbagai variasi stack pengembangan di Cloud Marketplace yang menggunakan MySQL.
- Jika persyaratan Anda mencakup ketersediaan tinggi dan skalabilitas, pertimbangkan
opsi berikut:
- Instal Cluster MySQL di Compute Engine untuk ketersediaan tinggi dan skalabilitas melalui pengelompokan tanpa kendala dan shard otomatis.
- Klik untuk men-deploy Percona, solusi open source untuk pengelompokan MySQL, dari Cloud Marketplace.
- Instal Vitess, solusi open source yang telah menyalurkan semua traffic database YouTube sejak tahun 2011. Vitess sangat cocok untuk aplikasi yang berjalan di container. Untuk informasi tentang cara menggunakan Vitess di lingkungan dalam container, lihat Menjalankan Vitess di Kubernetes.