Analisis alasan:
Host 'Lokal' tidak diizinkan untuk terhubung ke server MySQL ini. Masalah izin jarak jauh yang umum.
Inti masalahnya:
MySQL tidak mengizinkan izin login jarak jauh. Itu tergantung pada jenis sistem yang digunakan server Anda, apakah itu Linux atau Windows. Solusinya berbeda. Anda dapat mencari secara online dan ada banyak informasi untuk menyelesaikan masalah.
Larutan:
Ada dua langkah utama untuk membuka akun login jarak jauh MySQL:
1. Pastikan firewall di server tidak memblokir port 3306.
Port default MySQL adalah 3306. Anda perlu memastikan bahwa firewall tidak memblokir port 3306, jika tidak, Anda tidak akan dapat terhubung ke MySQL dari jarak jauh melalui port 3306.
Jika Anda menentukan port lain saat menginstal MySQL, silakan buka nomor port yang Anda tentukan untuk MySQL di firewall.
Jika Anda tidak tahu cara mengatur firewall di server Anda, silakan tanyakan kepada administrator server Anda.
2. Tambahkan kemampuan untuk mengizinkan koneksi jarak jauh ke pengguna MySQL dan memberi otorisasi kepada mereka.
1) Pertama login ke MySQL dengan akun root
Klik menu Start pada host Windows, jalankan, masukkan "cmd", masuk ke konsol, masuk ke direktori bin MySQL, dan masukkan perintah berikut.
Masukkan perintah berikut pada command prompt di host Linux.
Copy kode kodenya sebagai berikut:
> MySQL -uroot -p123456
123456 adalah kata sandi pengguna root.
2) Buat pengguna login jarak jauh dan otorisasi
Copy kode kodenya sebagai berikut:
> berikan semua HAK ISTIMEWA pada diskusi.* ke ted@'123.123.123.123' yang diidentifikasi oleh '123456';
Pernyataan di atas menunjukkan bahwa semua izin database discuz diberikan kepada pengguna ted, pengguna ted diizinkan untuk login jarak jauh di alamat IP 123.123.123.123, dan kata sandi pengguna ted disetel ke 123456.
Mari kita analisis semua parameter satu per satu:
all PRIVILEGES berarti memberikan semua izin kepada pengguna tertentu. Bisa juga diganti dengan memberikan izin tertentu, seperti: pilih, masukkan, perbarui, hapus, buat, lepas, dll. Izin khusus dipisahkan dengan "," setengah- koma lebar.
discuz.* menunjukkan untuk tabel mana izin di atas. discuz merujuk ke database, dan * berikut menunjukkan untuk semua tabel. Dapat disimpulkan bahwa otorisasi untuk semua tabel di semua database adalah "*.*", dan untuk semua tabel di semua database, otorisasinya adalah "*.*". Otorisasi untuk semua tabel di database tertentu adalah "nama database.*", dan otorisasi untuk tabel tertentu di database tertentu adalah "nama database.nama tabel" .
ted menunjukkan pengguna mana yang ingin Anda otorisasi. Pengguna ini dapat berupa pengguna yang sudah ada atau pengguna yang tidak ada.
123.123.123.123 menunjukkan alamat IP yang memungkinkan koneksi jarak jauh. Jika Anda tidak ingin membatasi alamat IP koneksi, setel saja ke "%".
123456 adalah kata sandi pengguna.
Setelah menjalankan pernyataan di atas, jalankan pernyataan berikut agar segera berlaku.
Copy kode kodenya sebagai berikut:
> hak istimewa siram;