Kita semua pernah ke sana. Anda lupa kata sandi root MySQL atau telah berubah secara misterius 🤔. Untungnya ada jalan keluarnya menggunakan opsi mysql Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using EditLine wrapper7
Sebelum memulai, jika Anda mengalami masalah saat masuk ke phpMyAdmin dan mendapatkan kesalahan Akses ditolak untuk pengguna 'root'@'localhost' , tetapi Anda yakin kata sandi root Anda benar, silakan merujuk ke artikel ini terlebih dahulu. Tidak dapat masuk ke phpMyAdmin. mysqli_real_connect(). (HY000/1698). Akses ditolak untuk pengguna 'root'@'localhost'
1. Konfirmasi versi MySQL
Pertama, Anda harus mengonfirmasi versi MySQL mana di Ubuntu yang Anda jalankan karena perintah akan berbeda
mysql -V_
Jika pada MySQL versi 8, Anda akan melihat sesuatu seperti
mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
Jika Anda menggunakan MySQL versi 5, Anda akan melihat sesuatu yang mirip dengan
mysql Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using EditLine wrapper
2. Restart MySQL dengan skip-grant-table
Untuk melewati tabel hibah dan mengatur ulang kata sandi root, pertama-tama kita harus menghentikan layanan MySQL. Masukkan kata sandi Linux Anda jika diminta
sudo /etc/init.d/mysql stop_
Pastikan direktori mysql Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using EditLine wrapper8 ada dan pemilik yang benar disetel
sudo mkdir /var/run/mysqld_
sudo chown mysql /var/run/mysqld
Sekarang mulai MySQL dengan opsi mysql Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using EditLine wrapper_7. sudo /etc/init.d/mysql stop0 diperlukan di sini
sudo mysqld_safe --skip-grant-tables&
Anda harus melihat sesuatu yang serupa
[1] 1283 user@server:~$ 2019-02-12T11:15:59.872516Z mysqld_safe Logging to syslog. 2019-02-12T11:15:59.879527Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2019-02-12T11:15:59.922502Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Sekarang tekan sudo /etc/init.d/mysql stop_1 untuk kembali ke perintah BASH Linux
3. Ubah Kata Sandi Root MySQL
Sekarang Anda dapat login ke akun root MySQL tanpa sandi
sudo mysql --user=root mysql
Setelah login, Anda akan melihat perintah sudo /etc/init.d/mysql stop2
MySQL 8 – Atur Ulang Kata Sandi Root
Untuk MySQL 8 di Ubuntu, jalankan perintah berikut
UPDATE mysql.user SET authentication_string=null WHERE User='root';
mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))0
Ganti sudo /etc/init.d/mysql stop_3 dengan milik Anda. (Buat kata sandi yang kuat di sini)
mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))1
Siram hak istimewa lagi
mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))0
Keluar dari MySQL
mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))_3
Sekarang lewati ke bawah
MySQL5. 7 – Atur Ulang Kata Sandi Root
Untuk MySQL5. 7 di Ubuntu, jalankan perintah ini untuk mengubah kata sandi root. Ganti sudo /etc/init.d/mysql stop_3 dengan milik Anda. (Buat kata sandi yang kuat di sini)
Kata sandi sulit diingat, jadi jika Anda lupa kata sandi root MySQL, untungnya ada cara untuk mengubahnya. Posting ini telah ditulis untuk Anda, dan pada akhir posting ini, Anda telah berhasil mengubah kata sandi MySQL
Blog ini menunjukkan cara mengatur ulang kata sandi root untuk database MySQL dan MariaDB yang diinstal dengan manajer paket mysql Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))5 di Ubuntu. Prosedur untuk mengubah kata sandi root berbeda tergantung pada apakah Anda telah menginstal MySQL dan konfigurasi systemd default yang disertakan dengan distribusi atau paket dari vendor lain
Sebelum beralih ke jawabannya, diasumsikan bahwa Anda memiliki versi terbaru dari database MySQL untuk Ubuntu. Blog ini akan menawarkan panduan yang mudah diikuti untuk mengubah kata sandi root MySQL Anda di Ubuntu. Karena itu, tanpa membuang waktu, mari kita mulai
1. Periksa Versi MySQL
Cek terlebih dahulu versi MySQL Anda karena postingan ini berisi solusi mengganti password root di versi 8 atau lebih tinggi. Jika versi MySQL Anda lebih rendah dari 8, maka jawabannya akan berbeda. Jalankan perintah berikut
#! /bin/bashmysql --version
Keluaran Versi MySQL
Baca Juga. Cara Menyebarkan Proyek Laravel dengan Apache di Ubuntu
2. Hentikan Server MySQL
Untuk mengubah kata sandi root MySQL, Anda harus mematikan server MySQL terlebih dahulu, jalankan perintah berikut
#! /bin/bashsudo systemctl stop mysql.service
Periksa status server MySQL untuk memverifikasi. Jalankan perintah berikut
#! /bin/bashsudo systemctl status mysql.service● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2022-01-10 13:50:04 IST; 29s ago
Process: 1163 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Process: 1737 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
Main PID: 1737 (code=exited, status=0/SUCCESS)
Status: "Server shutdown complete"Jan 10 10:32:38 smit-Latitude-E5470 systemd[1]: Starting MySQL Community Server...
Jan 10 10:32:52 smit-Latitude-E5470 systemd[1]: Started MySQL Community Server.
Jan 10 13:50:01 smit-Latitude-E5470 systemd[1]: Stopping MySQL Community Server...
Jan 10 13:50:04 smit-Latitude-E5470 systemd[1]: mysql.service: Succeeded.
Jan 10 13:50:04 smit-Latitude-E5470 systemd[1]: Stopped MySQL Community Server.
3. Lewati Tabel Hibah & Jaringan
Untuk memulai server MySQL tanpa memberikan pemeriksaan tabel dan jaringan, atur variabel lingkungan MYSQLD_OPTS, yang digunakan MySQL saat startup. Jalankan perintah berikut
#! /bin/bashsudo systemctl set-environment MYSQLD_OPTS="--skip-networking --skip-grant-tables"
Baiklah, variabel lingkungan adalah satu set, dan kita dapat masuk ke shell MySQL tanpa memberikan kata sandi
4. Mulai Layanan MySQL
Setelah mengatur variabel lingkungan MYSQLD_OPTS, mulai layanan MySQL. Jalankan perintah berikut
#! /bin/bashsudo systemctl start mysql.service
Konfirmasikan status layanan MySQL jika sedang berjalan
● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-01-10 14:31:53 IST; 1min 45s ago
Process: 29956 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 29983 (mysqld)
Status: "Server is operational"
Tasks: 39 (limit: 9350)
Memory: 441.3M
CGroup: /system.slice/mysql.service
└─29983 /usr/sbin/mysqldJan 10 14:31:50 smit-Latitude-E5470 systemd[1]: Starting MySQL Community Server...
Jan 10 14:31:53 smit-Latitude-E5470 systemd[1]: Started MySQL Community Server.
5. Masuk ke Shell MySQL
Pada tahap ini, kita dapat mengakses database MySQL tanpa password
#! /bin/bashsudo mysql -u rootWelcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 8.0.27-0ubuntu0.20.04.1 (Ubuntu)Copyright (c) 2000, 2021, Oracle and/or its affiliates.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>
6. Atur Ulang Kata Sandi Root
Sekarang, siram hak istimewa terlebih dahulu. Jalankan perintah berikut
#! /bin/bashmysql> flush privileges;
Pilih database MySQL. Jalankan perintah berikut
#! /bin/bashmysql> use mysql;
Dan atur kata sandi baru untuk pengguna root, jalankan perintah berikut
mysql Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))_0Di tempat mysql Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))_6 berikan kata sandi baru Anda. Setelah berhasil mengubah password root MySQL, logout dari shell MySQL