ServerPilot mengkonfigurasi MySQL untuk mengelola database di server Anda. Biasanya, saat login ke SSH sebagai root pengguna, Anda hanya perlu mengetikkan perintah berikut di baris perintah (SSH) prompt untuk mengakses MySQL:
mysql
Perintah ini akan secara otomatis mereferensikan file yang berisi root MySQL kata sandi MySQL pengguna sehingga Anda tidak perlu mengetikkannya. Kata sandi root untuk MySQL terdapat dalam file ini:
/root/.my.cnf
Jika Anda perlu mengubah kata sandi itu karena alasan apa pun, beberapa langkah perlu diambil. Harap perhatikan bahwa ada dua proses berbeda di sini:Satu untuk situasi di mana kata sandi root MySQL saat ini berfungsi, dan satu lagi untuk kata sandi MySQL root yang tidak berfungsi.
Catatan:Log kesalahan MySQL adalah tempat yang baik untuk menemukan masalah dengan MySQL, dan terletak di sini:
/var/log/mysql/error.logPeringatan! Kami menyarankan untuk mengambil snapshot server sebelum melakukan tugas seperti ini.
Mengubah Kata Sandi Root MySQL yang Berfungsi
Bagian ini mencakup mengubah kata sandi root MySQL yang berfungsi, artinya Anda dapat masuk ke MySQL sebagai root pengguna hanya dengan mengetik mysql pada perintah SSH. Tidak akan ada waktu henti untuk proses ini jika langkah-langkah ini diikuti.
Masuk ke SSH sebagai root pengguna, lalu login ke MySQL dengan mengetik:
mysql
Pada prompt MySQL, ketik berikut ini, tetapi ganti letakkan-your-new-password-sini dengan kata sandi sebenarnya yang ingin Anda gunakan. Anda perlu meninggalkan tanda kutip tunggal di sekitar kata sandi baru. Harap catat kata sandinya, karena Anda harus memasukkannya ke dalam file pada langkah berikutnya.
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');
Keluar dari MySQL dengan mengetik:
quit
Selanjutnya, Anda perlu memperbarui file yang berisi root MySQL kata sandi pengguna sehingga Anda dapat SSH ke server Anda sebagai root dan jalankan mysql perintah tanpa mengetik kata sandi.
sudo nano /root/.my.cnfUntuk informasi tambahan tentang penggunaan nano editor teks, silakan lihat panduan kami.
Perbarui bidang kata sandi ke kata sandi baru yang Anda masukkan di atas, simpan, dan keluar dari editor teks.
Terakhir, uji untuk memastikan kata sandi baru berfungsi:
mysql
Sudah siap!
Mengubah Kata Sandi Root MySQL yang Hilang atau Tidak Berfungsi
Bagian ini mencakup mendapatkan kembali akses root ke MySQL saat menerima kesalahan ini:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)Peringatan! Proses ini akan membuat MySQL offline untuk waktu yang singkat; sebaiknya lakukan ini selama jam tidak sibuk, saat pengguna Anda tidak akan terpengaruh.
Masuk ke server Anda melalui SSH sebagai root pengguna, dan hentikan MySQL dengan mengetik:
sudo service mysql stop
Kemudian jalankan perintah berikut:
sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld
Itu tidak akan mengembalikan output apa pun. Mulai MySQL ke mode khusus dengan mengetik ini:
sudo mysqld --skip-grant-tables --skip-networking &
Outputnya harus seperti di bawah ini, meskipun nomor yang ditampilkan akan berbeda:
sudo mysqld --skip-grant-tables --skip-networking & [1] 14744
Anda kemudian akan kembali ke prompt SSH standar. Sekarang, ketik berikut ini untuk masuk ke MySQL:
mysql
Anda tidak akan dimintai kata sandi, dan akan terlihat seperti ini:
~# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective Owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Keluarkan perintah berikut yang memungkinkan Anda mengubah kata sandi:
FLUSH PRIVILEGES;
Yang menghasilkan:
Query OK, 0 rows affected (0.00 sec)
Selanjutnya, kami menyetel ulang sandi yang sebenarnya dengan mengubah letakkan-kata-sandi-baru-Anda-sini ke kata sandi Anda yang sebenarnya. Harap catat kata sandi yang Anda atur, karena kami harus memasukkannya ke dalam /root/.my.cnf file ketika kami selesai, dan harap simpan juga tanda kutip tunggal di sekitar kata sandi baru.
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');
Anda akan menerima pemberitahuan seperti:
Query OK, 0 rows affected, 1 warning (0.00 sec)
Keluar dari MySQL dengan mengetik:
quit
Selanjutnya, ketik perintah berikut:
sudo killall mysqld
Tidak ada output yang akan dikembalikan. Sekarang, kita memulai MySQL secara normal:
sudo service mysql start
Terakhir, jika Anda mengubah kata sandi dari apa yang ada di /root/.my.cnf , Anda harus memperbarui file itu. Jika Anda menggunakan nilai yang sama, Anda tidak perlu melakukan langkah ini:
sudo nano /root/.my.cnf
Perbarui bidang kata sandi di sana, lalu simpan dan keluar dari editor teks.
Anda sekarang harus berhasil masuk ke MySQL sebagai root pengguna dengan mengetikkan perintah berikut:
mysql