Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Mengatur Ulang Kata Sandi Pengguna Root MySQL

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.log
Peringatan! 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.cnf
Untuk 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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Format variabel MySQL untuk daftar nilai NOT IN

  2. Gunakan Database Relasional MySQL di Ubuntu 10.10 (Maverick)

  3. Bagaimana saya bisa menggabungkan dua tabel MySQL?

  4. Pendaftaran pengguna dan verifikasi email PHP dan MySQL

  5. rails + MySQL di OSX:Perpustakaan tidak dimuat:libmysqlclient.18.dylib