All Products
Search
Document Center

Elastic Compute Service:Masalah Umum Penerapan MySQL

Last Updated:Jun 22, 2026

Dokumen ini menyediakan solusi untuk masalah umum instalasi, konfigurasi, dan manajemen MySQL guna membantu Anda mempertahankan server yang stabil.

Kata sandi pengguna MySQL yang lupa

Jika Anda lupa kata sandi pengguna non-root, Anda dapat menggunakan pengguna root untuk mengubahnya secara langsung. Jika Anda lupa kata sandi pengguna root, Anda harus menghentikan layanan MySQL dan menjalankannya kembali dalam mode khusus yang melewati pemeriksaan izin, sehingga memungkinkan Anda mengatur ulang kata sandi tersebut.

Kata sandi yang lupa untuk pengguna non-root

  1. Kueri nilai Host dari pengguna target.

    # Ganti dengan username sebenarnya
    mysql -uroot -p -e "SELECT Host FROM mysql.user WHERE User = 'target_username';"
  2. Ubah kata sandi berdasarkan nilai Host. Jika pengguna memiliki beberapa nilai Host, jalankan perintah tersebut untuk masing-masing nilai tersebut.

    # Ganti dengan username, password, dan Host sebenarnya
    mysql -uroot -p -e "ALTER USER 'target_username'@'target_host' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;"

Kata sandi pengguna root yang lupa

Penting

Mengatur ulang kata sandi pengguna root memerlukan penghentian layanan MySQL.

  1. Untuk menghentikan layanan MySQL, jalankan perintah berikut.

    Alibaba Cloud Linux dan CentOS

    sudo systemctl stop mysqld

    Ubuntu dan Debian

    sudo systemctl stop mysql
  2. Jalankan MySQL dalam mode sementara dan catat ID prosesnya. Anda akan memerlukan ID ini untuk menghentikan proses tersebut nanti.

    Catatan
    • --skip-grant-tables: Melewati validasi izin dan memungkinkan Anda masuk tanpa kata sandi.

    • &: Menjalankan proses MySQL di latar belakang. Terminal akan mengembalikan ID proses (PID). Misalnya, pada output [1] 1234, PID-nya adalah 1234.

    sudo -u mysql mysqld --skip-grant-tables &
  3. Muat ulang tabel otorisasi dan ubah kata sandi root. Ganti <password> dengan kata sandi baru Anda. Kata sandi tersebut harus memenuhi kebijakan kata sandi saat ini: minimal 8 karakter, terdiri atas setidaknya satu huruf kapital, satu huruf kecil, satu angka, dan satu karakter khusus.

    mysql -uroot -e"FLUSH PRIVILEGES;" -e"ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';"

    Jika Anda menerima error Your password does not satisfy the current policy requirements, berarti kata sandi Anda tidak sesuai. Anda harus menghentikan proses MySQL, menjalankannya kembali dalam mode bypass izin, lalu menjalankan ulang perintah tersebut dengan kata sandi yang sesuai.

  4. Hentikan proses MySQL.

    kill <process ID>
  5. Untuk menjalankan layanan MySQL, gunakan perintah berikut.

    Alibaba Cloud Linux dan CentOS

    sudo systemctl start mysqld

    Ubuntu dan Debian

    sudo systemctl start mysql
  6. Masuk dengan kata sandi baru. Jika Anda dapat mengakses command line MySQL, berarti pengaturan ulang kata sandi berhasil.

    mysql -u root -p

Mengubah direktori data MySQL

  1. Untuk menghentikan layanan MySQL, jalankan perintah berikut.

    Alibaba Cloud Linux dan CentOS

    sudo systemctl stop mysqld

    Ubuntu dan Debian

    sudo systemctl stop mysql
  2. Pada file konfigurasi my.cnf (biasanya terletak di /etc/my.cnf), ubah nilai datadir ke path direktori data baru.

    datadir=/new/data/directory
  3. Salin seluruh file dan direktori dari direktori data asli ke direktori data baru.

    sudo cp -aR /old/data/directory/* /new/data/directory/
  4. Untuk menjalankan layanan MySQL, gunakan perintah berikut.

    Alibaba Cloud Linux dan CentOS

    sudo systemctl start mysqld

    Ubuntu dan Debian

    sudo systemctl start mysql

Error startup MySQL: Permission denied

  1. Periksa file error.log MySQL untuk menemukan pesan error spesifik.

    Catatan

    Lokasi default file ini biasanya /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. Temukan dan hentikan semua proses mysqld yang masih berjalan.

    sudo ps aux | grep mysqld
    sudo kill -9 <process ID>
  3. Untuk menjalankan layanan MySQL, gunakan perintah berikut.

    Alibaba Cloud Linux dan CentOS

    sudo systemctl start mysqld

    Ubuntu dan Debian

    sudo systemctl start mysql

Error startup MySQL: File './binlog.index' not found

  1. Periksa file error.log MySQL untuk menemukan pesan error spesifik.

    Catatan

    Lokasi default file ini biasanya /var/log/mysqld.log atau /var/log/mysql/error.log.

    mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)
  2. Error ini sering disebabkan oleh kepemilikan file yang salah di direktori data MySQL. Jalankan perintah berikut untuk memeriksa kepemilikannya.

    Catatan

    Direktori data default biasanya /var/lib/mysql. Jika Anda menggunakan direktori data kustom, sesuaikan perintah tersebut.

    sudo ls -l /var/lib/mysql
    -rw-r-----  1  root root        56 Mar 19 15:51   auto.cnf
    -rw-r-----  1  root root      1551 Mar 19 15:51   binlog.000001
    -rw-r-----  1  root root        16 Mar 19 15:51   binlog.index
    -rw-------  1  root root      1680 Mar 19 15:51   ca-key.pem
    -rw-r--r--  1  root root      1108 Mar 19 15:51   ca.pem
    -rw-r--r--  1  root root      1108 Mar 19 15:51   client-cert.pem
  3. Jalankan perintah berikut untuk memberikan kepemilikan yang benar kepada pengguna dan kelompok mysql.

    sudo chown -R mysql:mysql <data_directory>
  4. Untuk menjalankan layanan MySQL, jalankan perintah berikut.

    Alibaba Cloud Linux dan CentOS

    sudo systemctl start mysqld

    Ubuntu dan Debian

    sudo systemctl start mysql