全部产品
Search
文档中心

Elastic Compute Service:FAQ Penyebaran MySQL

更新时间:Jun 26, 2025

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

  1. Periksa nilai Host dari pengguna target.

    # Ganti nilai dengan nama pengguna sebenarnya.
    mysql -uroot -p -e "SELECT Host FROM mysql.user WHERE User = 'target_username';"
  2. 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

Penting

Menyetel ulang kata sandi pengguna root memerlukan penghentian layanan MySQL.

  1. Hentikan layanan MySQL.

    Alibaba Cloud Linux atau CentOS

    sudo systemctl stop mysqld

    Ubuntu atau Debian

    sudo systemctl stop mysql
  2. Mulai 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] 1234 dikembalikan, 1234 menunjukkan PID.

    sudo -u mysql mysqld --skip-grant-tables &
  3. 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 requirements ditampilkan, kata sandi Anda tidak memenuhi persyaratan kebijakan. Anda perlu menutup proses MySQL, mulai MySQL dengan melewati verifikasi izin, dan jalankan perintah modifikasi kata sandi.

  4. Hentikan proses MySQL.

    kill <process_ID>
  5. Mulai layanan MySQL sesuai dengan sistem operasi.

    Alibaba Cloud Linux atau CentOS

    sudo systemctl start mysqld

    Ubuntu atau Debian

    sudo systemctl start mysql
  6. Masukkan 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:

  1. Hentikan MySQL. Perintah bervariasi berdasarkan sistem operasi.

    Alibaba Cloud Linux atau CentOS

    sudo systemctl stop mysqld

    Ubuntu atau Debian

    sudo systemctl stop mysql
  2. Buka file konfigurasi my.cnf dan ubah parameter datadir dalam file ke path direktori data MySQL baru. File biasanya disimpan di direktori /etc/my.cnf.

    datadir=/new/data/directory
  3. Salin semua file dan folder dari direktori data lama ke direktori baru.

    sudo cp -aR /old/data/directory/* /new/data/directory/
  4. Mulai MySQL. Perintah bervariasi berdasarkan sistem operasi.

    Alibaba Cloud Linux dan CentOS

    sudo systemctl start mysqld

    Ubuntu 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:

  1. Periksa file log kesalahan MySQL untuk menemukan pesan kesalahan.

    Catatan

    Secara default, file biasanya disimpan di direktori /var/log/mysqld.log atau /var/log/mysql/error.log.

    [ERROR] [MY-010092] [Server] Can't start server: can't create PID file: Permission denied
  2. Jalankan perintah berikut untuk memeriksa apakah proses mysqld residu ada dan hentikan proses tersebut:

    sudo ps aux | grep mysqld
    sudo kill -9 <Process ID>
  3. Mulai MySQL. Perintah bervariasi berdasarkan sistem operasi.

    Alibaba Cloud Linux atau CentOS

    sudo systemctl start mysqld

    Ubuntu 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:

  1. Periksa file log kesalahan MySQL untuk menemukan pesan kesalahan.

    Catatan

    Secara default, file biasanya disimpan di direktori /var/log/mysqld.log atau /var/log/mysql/error.log.

    mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)
  2. Periksa direktori data MySQL untuk kesalahan izin pengguna.

    Catatan

    Secara default, direktori data biasanya adalah /var/lib/mysql. Jika Anda mengubahnya, Anda harus memodifikasi izin terkait.

    sudo ls -l /var/lib/mysql

    image

  3. Berikan izin:

    sudo chown -R mysql:mysql <Data directory>
  4. Mulai MySQL. Perintah bervariasi berdasarkan sistem operasi.

    Alibaba Cloud Linux atau CentOS

    sudo systemctl start mysqld

    Ubuntu atau Debian

    sudo systemctl start mysql