Isu Ketersambungan Jauh dengan MySQL pada Ubuntu
Ketidakupayaan untuk mewujudkan sambungan jauh ke MySQL mungkin berpunca daripada gabungan salah konfigurasi. Berikut ialah penjelasan terperinci untuk menyelesaikan masalah:
Konfigurasi my.cnf
Untuk MySQL versi 5.6 dan ke bawah, pastikan "/etc/mysql/my.cnf" mengandungi arahan "bind-address" dan gantikan alamat loopback ("127.0.0.1") dengan IP pelayan anda alamat:
# For MySQL version 5.6 and below bind-address = your_server_ip
Untuk MySQL versi 5.7 dan ke atas, ubah suai "/etc/mysql/mysql.conf.d/mysqld.cnf" untuk menentukan alamat bind:
# For MySQL version 5.7 and above bind-address = your_server_ip
Sebagai alternatif, tetapkan "bind-address = 0.0.0.0" untuk mendengar pada semua IP alamat.
Keistimewaan Pengguna
Untuk membenarkan akses jauh bagi pengguna tertentu, cipta pengguna dalam kedua-dua "localhost" dan "%" dalam MySQL:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
Berikan keistimewaan yang diperlukan kepada pengguna:
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%';
Laksanakan "FLUSH KEISTIMEWAAN;" untuk mengemas kini kebenaran.
Mengesahkan Akses Rangkaian
Gunakan "lsof -i -P | grep :3306" untuk menyemak sama ada MySQL mendengar pada alamat IP yang betul dan nombor port (3306). Ini sepatutnya mengembalikan output yang menunjukkan bahawa pelayan sedang mendengar pada alamat IP pelayan anda.
Menyelesaikan masalah
Jika sambungan jauh masih gagal, semak perkara berikut:
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menyambung ke Pelayan MySQL Jauh Saya di Ubuntu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!