Langkah Pertama: Semak sama ada MySQL mempunyai akses jauh didayakan
Sebelum memulakan konfigurasi, kita perlu memastikan bahawa MySQL mempunyai akses jauh didayakan. Kita perlu log masuk ke pelayan MySQL terlebih dahulu dan mengesahkan sama ada akses jauh didayakan. Buka terminal dan masukkan arahan berikut:
sudo mysql -u root -p
Perintah ini akan log masuk ke MySQL sebagai pengguna root. Selepas memasukkan arahan ini, anda akan diminta untuk memasukkan kata laluan anda. Jika anda memasukkan kata laluan yang betul, anda akan memasukkan shell MySQL, yang membolehkan anda mengakses antara muka baris arahan pelayan MySQL. Untuk menyemak sama ada shell MySQL mempunyai akses jauh didayakan, anda perlu menaip perintah berikut
SELECT user,authentication_string,host FROM mysql.user;
Jika akses jauh didayakan, anda seharusnya melihat output berikut:
+------------------+-------------------------------+-----------+ | user | authentication_string | host | +------------------+-------------------------------+-----------+ | root | *E0AAECBBB187B27AAF667AEC86667 | localhost | | root | *E0AAECBBB187B27AAF667AEC86667 | % | | mysql.session | *THISISNOTAVALIDPASSWORDTHAT | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHAT | localhost | | debian-sys-maint | *456D0C7680DF288F66F7401EABC4B | localhost | +------------------+-------------------------------+-----------+
The "% " di sini bermakna MySQL membenarkan akses Pengguna daripada mana-mana hos. Jika anda melihat output ini, maka MySQL mempunyai akses jauh didayakan.
Jika anda tidak melihat output di atas, atau anda melihat output yang berbeza daripada di atas, maka ini bermakna MySQL tidak mempunyai akses jauh didayakan. Dalam kes ini, anda perlu mengkonfigurasi MySQL untuk membenarkan akses jauh.
Langkah 2: Sediakan akaun akses jauh baharu untuk MySQL
Untuk mendayakan akses jauh untuk MySQL, kami perlu mencipta akaun akses jauh baharu terlebih dahulu. MySQL hanya membenarkan pengguna root untuk mengakses pelayan setempat secara lalai Pengguna lain perlu menggunakan kebenaran awam untuk mengakses, itulah sebabnya ini dilakukan.
Untuk menyediakan akaun akses jauh baharu, kita perlu melaksanakan arahan berikut dalam shell MySQL:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
Arahan ini akan mencipta pengguna baharu bernama "newuser" dan menetapkan semua hak akses. "%" bermakna pengguna boleh mengakses pelayan MySQL daripada mana-mana hos. Anda juga boleh menentukan hos yang dibenarkan menggunakan alamat IP atau nama hos tertentu. Sebagai contoh, "newuser"@"10.0.0.2" bermakna akses kepada pelayan MySQL hanya dibenarkan daripada hos dengan alamat IP "10.0.0.2".
Langkah 3: Konfigurasikan firewall untuk membenarkan trafik MySQL
Biasanya, pelayan MySQL mungkin dilindungi oleh firewall. Untuk membenarkan capaian jauh ke pelayan MySQL, port MySQL perlu dibuka pada tembok api (lalai ialah 3306). Untuk melakukan ini, kita perlu memasukkan arahan berikut:
sudo ufw allow 3306/tcp
Perintah ini akan membenarkan trafik TCP melalui tembok api, membuka port bernama "3306". Sebelum anda melakukan langkah ini, pastikan tembok api anda dipasang dan didayakan.
Langkah 4: Kemas kini fail konfigurasi MySQL
Untuk membenarkan log masuk jauh ke pelayan MySQL, anda perlu mengkonfigurasinya dalam fail konfigurasi MySQL. Secara lalai, fail konfigurasi MySQL terletak di "/etc/mysql/mysql.conf.d/mysqld.cnf". Anda perlu membuka fail sebagai pentadbir dan mengedit beberapa nilai seperti berikut:
bind-address = 0.0.0.0
Pelayan MySQL akan menerima permintaan sambungan daripada mana-mana alamat IP, gunakan arahan berikut: . Ini memerlukan perhatian kerana ia boleh menjadikan pelayan MySQL terdedah kepada capaian yang tidak dibenarkan. Jika anda ingin menjadikan akses jauh ke MySQL lebih selamat, anda harus menentukan alamat IP atau julat CIDR yang membenarkan akses.
Langkah 5: Mulakan semula pelayan MySQL
Selepas menukar fail konfigurasi MySQL, anda perlu memulakan semula pelayan MySQL untuk perubahan berkuat kuasa. Untuk memulakan semula MySQL, anda boleh menggunakan arahan berikut:
sudo systemctl restart mysql
Jika anda melihat output berikut, ini bermakna pelayan MySQL telah berjaya dimulakan semula:
mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-01-21 15:40:22 EST; 17s ago
Pada ketika ini, anda telah berjaya sediakan akses jauh pelayan MySQL.
Atas ialah kandungan terperinci Bagaimana untuk menyediakan akses jauh MySQL pada Ubuntu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!