Topik ini merangkum masalah umum yang ditemui selama penyebaran database MySQL beserta solusi yang sesuai. Ini membantu pengguna menginstal, mengonfigurasi, dan mengelola database MySQL dengan lancar untuk memastikan operasi server yang stabil.
Apa yang harus saya lakukan jika saya lupa kata sandi pengguna MySQL?
Jika Anda lupa kata sandi pengguna reguler, masuk ke instance MySQL sebagai pengguna root untuk langsung mengubah kata sandi pengguna. Jika Anda lupa kata sandi pengguna root, hentikan layanan MySQL, jalankan MySQL dalam mode bypass verifikasi izin, dan atur ulang kata sandi.
Kata sandi untuk pengguna reguler
Periksa nilai
Hostdari pengguna target.# Ganti nilai dengan nama pengguna sebenarnya. mysql -uroot -p -e "SELECT Host FROM mysql.user WHERE User = 'target_username';"Ubah kata sandi berdasarkan nilai
Host. Jika terdapat beberapa host, tentukan masing-masing secara individual.# Ganti nilai dengan nama pengguna, kata sandi, dan nilai Host sebenarnya. mysql -uroot -p -e "ALTER USER 'target_username'@'target_Host' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;"
Kata sandi pengguna root
Menyetel ulang kata sandi pengguna root memerlukan penghentian layanan MySQL.
Hentikan layanan MySQL.
Alibaba Cloud Linux atau CentOS
sudo systemctl stop mysqldUbuntu atau Debian
sudo systemctl stop mysqlMulai MySQL dalam mode sementara. Catat ID proses (PID) untuk penghentian nanti.
Catatan--skip-grant-tables: Lewati verifikasi izin, yang memungkinkan login tanpa kata sandi.&: Jalankan proses MySQL di latar belakang. Terminal akan mengembalikan PID. Misalnya, ketika[1] 1234dikembalikan,1234menunjukkan PID.
sudo -u mysql mysqld --skip-grant-tables &Muat ulang tabel otorisasi di server dan ubah kata sandi root. Ganti
<password>dengan kata sandi yang ingin Anda gunakan. Kata sandi harus mematuhi persyaratan berikut: minimal satu huruf besar, satu huruf kecil, satu digit, satu karakter khusus, dan panjang minimal 8 karakter.mysql -uroot -e"FLUSH PRIVILEGES;" -e"ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';"Jika pesan kesalahan
Your password does not satisfy the current policy requirementsditampilkan, kata sandi Anda tidak memenuhi persyaratan kebijakan. Anda perlu menutup proses MySQL, mulai MySQL dengan melewati verifikasi izin, dan jalankan perintah modifikasi kata sandi.Hentikan proses MySQL.
kill <process_ID>Mulai layanan MySQL sesuai dengan sistem operasi.
Alibaba Cloud Linux atau CentOS
sudo systemctl start mysqldUbuntu atau Debian
sudo systemctl start mysqlMasukkan kata sandi baru. Jika Anda dapat masuk ke CLI MySQL, kata sandi telah berhasil diubah.
mysql -u root -p
Bagaimana cara mengubah direktori data MySQL?
Untuk mengubah direktori data MySQL, ikuti langkah-langkah berikut:
Hentikan MySQL. Perintah bervariasi berdasarkan sistem operasi.
Alibaba Cloud Linux atau CentOS
sudo systemctl stop mysqldUbuntu atau Debian
sudo systemctl stop mysqlBuka file konfigurasi
my.cnfdan ubah parameterdatadirdalam file ke path direktori data MySQL baru. File biasanya disimpan di direktori/etc/my.cnf.datadir=/new/data/directorySalin semua file dan folder dari direktori data lama ke direktori baru.
sudo cp -aR /old/data/directory/* /new/data/directory/Mulai MySQL. Perintah bervariasi berdasarkan sistem operasi.
Alibaba Cloud Linux dan CentOS
sudo systemctl start mysqldUbuntu dan Debian
sudo systemctl start mysql
Apa yang harus saya lakukan jika saya tidak dapat memulai MySQL karena kesalahan "Permission denied"?
Untuk menyelesaikan masalah, ikuti langkah-langkah berikut:
Periksa file log kesalahan MySQL untuk menemukan pesan kesalahan.
CatatanSecara default, file biasanya disimpan di direktori
/var/log/mysqld.logatau/var/log/mysql/error.log.[ERROR] [MY-010092] [Server] Can't start server: can't create PID file: Permission deniedJalankan perintah berikut untuk memeriksa apakah proses
mysqldresidu ada dan hentikan proses tersebut:sudo ps aux | grep mysqld sudo kill -9 <Process ID>Mulai MySQL. Perintah bervariasi berdasarkan sistem operasi.
Alibaba Cloud Linux atau CentOS
sudo systemctl start mysqldUbuntu atau Debian
sudo systemctl start mysql
Apa yang harus saya lakukan jika saya tidak dapat memulai MySQL karena kesalahan "File './binlog.index' not found"?
Untuk menyelesaikan masalah, ikuti langkah-langkah berikut:
Periksa file log kesalahan MySQL untuk menemukan pesan kesalahan.
CatatanSecara default, file biasanya disimpan di direktori
/var/log/mysqld.logatau/var/log/mysql/error.log.mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)Periksa direktori data MySQL untuk kesalahan izin pengguna.
CatatanSecara default, direktori data biasanya adalah
/var/lib/mysql. Jika Anda mengubahnya, Anda harus memodifikasi izin terkait.sudo ls -l /var/lib/mysql
Berikan izin:
sudo chown -R mysql:mysql <Data directory>Mulai MySQL. Perintah bervariasi berdasarkan sistem operasi.
Alibaba Cloud Linux atau CentOS
sudo systemctl start mysqldUbuntu atau Debian
sudo systemctl start mysql