ترامب يستمع لآيات من القرآن الكريم داخل كاتدرائية واشنطن
جدول المحتويات:
- تكوين خادم MySQL
- منح حق الوصول إلى مستخدم من جهاز بعيد
- تكوين جدار الحماية
- إيبتبلس
- UFW
- FirewallD
- التحقق من التغييرات
- استنتاج
بشكل افتراضي ، يستمع خادم MySQL للاتصالات فقط من المضيف المحلي ، مما يعني أنه لا يمكن الوصول إليه إلا عن طريق التطبيقات التي تعمل على نفس المضيف.
ومع ذلك ، في بعض الحالات ، من الضروري الوصول إلى خادم MySQL من الموقع البعيد. على سبيل المثال ، عندما تريد الاتصال بخادم MySQL البعيد من نظامك المحلي ، أو عند استخدام نشر متعدد الخوادم حيث يتم تشغيل التطبيق على جهاز مختلف عن خادم قاعدة البيانات. يتمثل أحد الخيارات في الوصول إلى خادم MySQL عبر SSH Tunnel والآخر هو تكوين خادم MySQL لقبول الاتصالات عن بُعد.
في هذا الدليل ، سنتعرف على الخطوات اللازمة للسماح بالاتصالات عن بُعد بخادم MySQL. تنطبق نفس التعليمات على MariaDB.
تكوين خادم MySQL
الخطوة الأولى هي تعيين خادم MySQL للاستماع على عنوان IP معين أو جميع عناوين IP على الجهاز.
إذا كان بإمكان خادم MySQL وعملائه التواصل مع بعضهم البعض عبر شبكة خاصة ، فإن الخيار الأفضل هو تعيين خادم MySQL للاستماع فقط على IP الخاص. خلاف ذلك ، إذا كنت ترغب في الاتصال بالخادم عبر شبكة عامة ، فقم بتعيين خادم MySQL للاستماع إلى جميع عناوين IP على الجهاز.
للقيام بذلك ، تحتاج إلى تحرير ملف التكوين MySQL وإضافة أو تغيير قيمة خيار
bind-address
. يمكنك تعيين عنوان IP واحد ونطاقات IP. إذا كان العنوان
0.0.0.0
، فإن خادم MySQL يقبل الاتصالات على جميع واجهات IPv4 المضيف. إذا كان لديك IPv6 مكونًا على نظامك ، فبدلاً من
0.0.0.0
، استخدم
::
.
يختلف موقع ملف تكوين MySQL اعتمادًا على التوزيع. في Ubuntu و Debian ، يوجد الملف في
/etc/mysql/mysql.conf.d/mysqld.cnf
، بينما في التوزيعات المستندة إلى Red Hat مثل CentOS ، يوجد الملف على
/etc/my.cnf
.
افتح الملف باستخدام محرر النصوص الخاص بك:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
ابحث عن سطر يبدأ
bind-address
وضبط قيمته على عنوان IP الذي يجب على خادم MySQL الاستماع إليه.
بشكل افتراضي ، يتم تعيين القيمة إلى
127.0.0.1
(يستمع فقط في المضيف المحلي).
في هذا المثال ، سنقوم بتعيين خادم MySQL للاستماع على جميع واجهات IPv4 عن طريق تغيير القيمة إلى
0.0.0.0
bind-address = 0.0.0.0 # skip-networking
إذا كان هناك خط يحتوي
skip-networking
، فاحذفه أو علق عليه بإضافة
#
في بداية السطر.
في MySQL 8.0 والإصدارات الأحدث ، قد لا يكون توجيه
bind-address
. في هذه الحالة ، إضافته تحت
الجزء.
بمجرد الانتهاء ، أعد تشغيل خدمة MySQL لتصبح التغييرات نافذة المفعول. يمكن فقط الجذر أو المستخدمين الذين لديهم امتيازات sudo إعادة تشغيل الخدمات.
لإعادة تشغيل خدمة MySQL على دبيان أو أوبونتو ، اكتب:
sudo systemctl restart mysql
على توزيعات تستند إلى RedHat مثل CentOS لإعادة تشغيل الخدمة:
منح حق الوصول إلى مستخدم من جهاز بعيد
الخطوة التالية هي السماح بالوصول إلى قاعدة البيانات للمستخدم البعيد.
تسجيل الدخول إلى خادم MySQL كمستخدم الجذر عن طريق كتابة:
sudo mysql
mysql -uroot -p
من داخل MySQL shell ، استخدم عبارة
GRANT
لمنح حق الوصول للمستخدم البعيد.
GRANT ALL ON database_name.* TO user_name@'ip_address' IDENTIFIED BY 'user_password';
أين:
-
database_name
هو اسم قاعدة البيانات التي سيتصل بها المستخدم.user_name
هو الاسم od المستخدم MySQL.ip_address
هو عنوان IP الذي سيتم من خلاله المستخدم الاتصال. استخدم%
للسماح للمستخدم بالاتصال من أي عنوان IP.user_password
هي كلمة مرور المستخدم.
على سبيل المثال ، لمنح حق الوصول إلى قاعدة بيانات
dbname
لمستخدم يدعى
foo
باستخدام كلمة المرور
my_passwd
من جهاز عميل مزود بـ IP
10.8.0.5
، يمكنك تشغيل:
GRANT ALL ON dbname.* TO foo@'10.8.0.5' IDENTIFIED BY 'my_passwd';
تكوين جدار الحماية
الخطوة الأخيرة هي تكوين جدار الحماية الخاص بك للسماح بحركة المرور على المنفذ
3306
(منفذ MySQL الافتراضي) من الأجهزة البعيدة.
إيبتبلس
sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
السماح بالوصول من عنوان IP محدد:
sudo iptables -A INPUT -s 10.8.0.5 -p tcp --destination-port 3306 -j ACCEPT
UFW
UFW هي أداة جدار الحماية الافتراضية في أوبونتو. للسماح بالوصول من أي عنوان IP على الإنترنت (غير آمن للغاية):
sudo ufw allow 3306/tcp
السماح بالوصول من عنوان IP محدد:
sudo ufw allow from 10.8.0.5 to any port 3306
FirewallD
FirewallD هو أداة إدارة جدار الحماية الافتراضية في CentOS. للسماح بالوصول من أي عنوان IP على الإنترنت (غير آمن للغاية) اكتب:
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
للسماح بالوصول من عنوان IP محدد على منفذ معين ، يمكنك إما إنشاء منطقة FirewallD جديدة أو استخدام قاعدة منسقة. حسنا إنشاء منطقة جديدة باسم
mysqlzone
:
sudo firewall-cmd --new-zone=mysqlzone --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlzone --add-source=10.8.0.5/32
sudo firewall-cmd --permanent --zone=mysqlzone --add-port=3306/tcp
sudo firewall-cmd --reload
التحقق من التغييرات
للتحقق من أنه يمكن للمستخدم البعيد الاتصال بخادم MySQL ، قم بتشغيل الأمر التالي:
mysql -u user_name -h mysql_server_ip -p
حيث
user_name
هو اسم المستخدم الذي منحته حق الوصول و
mysql_server_ip
هو عنوان IP للمضيف حيث يتم تشغيل خادم MySQL.
إذا تم إعداد كل شيء بشكل صحيح ، فستتمكن من تسجيل الدخول إلى خادم MySQL البعيد.
ERROR 2003 (HY000): Can't connect to MySQL server on '10.8.0.5' (111)"
يشير الخطأ أدناه إلى أن المستخدم الذي تحاول تسجيل الدخول ليس لديه أذونات للوصول إلى خادم MySQL البعيد.
"ERROR 1130 (HY000): Host '10.8.0.5' is not allowed to connect to this MySQL server"
استنتاج
MySQL ، خادم قاعدة البيانات مفتوحة المصدر الأكثر شعبية بشكل افتراضي ، يستمع للاتصالات الواردة فقط على المضيف المحلي.
للسماح بالاتصالات عن بُعد بخادم MySQL ، تحتاج إلى تنفيذ الخطوات التالية:
- تكوين خادم MySQL للاستماع على جميع أو واجهة محددة.منح الوصول إلى المستخدم عن بعد.فتح منفذ MySQL في جدار الحماية الخاص بك.
أوراكل يضع قاعدة بيانات 11G في سحابة الأمازون >> تقدم أوراكل الآن قاعدة بيانات 11g والبرمجيات الوسيطة على منصة سحابة الأمازون.
أوراكل تقدم الآن أعلنت الشركة ، الاثنين ، في بداية مؤتمر OpenWorld في سان فرانسيسكو ، أن قاعدة بياناتها 11g ، و Fusion Middleware ، و Enterprise Manager من خلال Amazon Compence Cloud Compute Cloud (EC2) ، سوف تسمح للعملاء باستخدام تراخيص البرامج الحالية. على EC2 دون أي تكلفة إضافية.
كيفية إنشاء قاعدة بيانات mysql على لينكس عبر سطر الأوامر
يشرح هذا البرنامج التعليمي كيفية استخدام سطر الأوامر لإنشاء قواعد بيانات MySQL أو MariaDB.
كيفية حذف قاعدة بيانات mysql على لينكس عبر سطر الأوامر
يصف هذا البرنامج التعليمي كيفية حذف (أو إسقاط) قاعدة بيانات MySQL أو MariaDB من خلال سطر الأوامر.