نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
MariaDB هي قاعدة بيانات مجانية مفتوحة المصدر ، وهي الاستبدال الأكثر استخدامًا لـ MySQL. تم صنعه من قبل مطوري MySQL ويهدف إلى البقاء مجانيًا تحت GNU GPL. إنه سريع جدًا وقابل للتطوير ويأتي بمجموعة غنية من الميزات التي تجعله متعدد الاستخدامات لمجموعة متنوعة من حالات الاستخدام.
سيرشدك هذا البرنامج التعليمي إلى كيفية تثبيت MariaDB وتكوينه مع دعم SSL على Ubuntu 16.04.
افتراضيًا ، لا يتوفر أحدث إصدار من MariaDB في مستودع Ubuntu 16.04 ؛ لذلك ستحتاج إلى إضافة مستودع MariaDB إلى نظامك.
أولاً ، قم بتنزيل المفتاح بالأمر التالي:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
بعد ذلك ، أضف مستودع MariaDB إلى /etc/apt/sources.listالملف:
sudo echo "deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu xenial main" >> /etc/apt/sources.list
قم بتحديث فهرس apt بالأمر التالي:
sudo apt-get update -y
بمجرد تحديث فهرس apt ، قم بتثبيت خادم MariaDB بالأمر التالي:
sudo apt-get install mariadb-server -y
قم بتشغيل خادم MariaDB وتمكينه من البدء في وقت التمهيد:
sudo systemctl start mysql
sudo systemctl enable mysql
بعد ذلك ، ستحتاج إلى تشغيل mysql_secure_installationالبرنامج النصي لتأمين تثبيت MariaDB. يسمح لك هذا البرنامج النصي بتعيين كلمة مرور الجذر ، وإزالة المستخدمين المجهولين ، وعدم السماح بتسجيل الدخول إلى الجذر البعيد وإزالة قاعدة بيانات الاختبار:
sudo mysql_secure_installation
أولاً ، قم بإنشاء دليل لتخزين جميع ملفات المفتاح والشهادة.
sudo mkdir /etc/mysql-ssl
بعد ذلك ، غيّر الدليل /etc/mysql-sslوقم بإنشاء شهادة المرجع المصدق والمفتاح الخاص بالأمر التالي:
sudo cd /etc/mysql-ssl
sudo openssl genrsa 2048 > ca-key.pem
sudo openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem
أجب عن جميع الأسئلة كما هو موضح أدناه:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:GUJ
Locality Name (eg, city) []:JND
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ENJ
Organizational Unit Name (eg, section) []:SYSTEM
Common Name (e.g. server FQDN or YOUR name) []:HITESH
Email Address []:example@example.com
بعد ذلك ، أنشئ مفتاحًا خاصًا للخادم باستخدام الأمر التالي:
sudo openssl req -newkey rsa:2048 -days 365 -nodes -keyout server-key.pem -out server-req.pem
أجب عن جميع الأسئلة كما فعلت في الأمر السابق.
بعد ذلك ، قم بتصدير المفتاح الخاص للخادم إلى مفتاح من نوع RSA باستخدام الأمر التالي:
sudo sudo openssl rsa -in server-key.pem -out server-key.pem
أخيرًا ، أنشئ شهادة خادم باستخدام شهادة المرجع المصدق كما يلي:
sudo openssl x509 -req -in server-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
يمكنك الآن رؤية جميع الشهادات والمفتاح باستخدام الأمر التالي:
ls
يجب أن تشاهد الإخراج التالي:
ca-cert.pem ca-key.pem server-cert.pem server-key.pem server-req.pem
بمجرد الانتهاء ، يمكنك المتابعة إلى الخطوة التالية.
يجب أن يكون لديك جميع الشهادات ومفتاح خاص ؛ والآن ستحتاج إلى تكوين MariaDB لاستخدام المفتاح والشهادات. يمكنك القيام بذلك عن طريق تحرير /etc/mysql/mariadb.conf.d/50-server.cnfالملف:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
أضف الأسطر التالية تحت [mysqld]القسم:
ssl-ca=/etc/mysql-ssl/ca-cert.pem
ssl-cert=/etc/mysql-ssl/server-cert.pem
ssl-key=/etc/mysql-ssl/server-key.pem
##Change this value to connect the MariaDB server from another host.
bind-address = *
احفظ الملف ، ثم أعد تشغيل خدمة MariaDB لتطبيق هذه التغييرات:
sudo systemctl restart mysql
الآن ، يمكنك التحقق مما إذا كان تكوين SSL يعمل أم لا مع الاستعلام التالي:
mysql -u root -p
MariaDB [(none)]> SHOW VARIABLES LIKE '%ssl%';
إذا كان التكوين ناجحًا ، فسترى الناتج التالي:
+---------------+--------------------------------+
| Variable_name | Value |
+---------------+--------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /etc/mysql-ssl/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /etc/mysql-ssl/server-cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | /etc/mysql-ssl/server-key.pem |
+---------------+--------------------------------+
يجب أن تلاحظ have_sslوتم have_opensslتمكين القيم في الإخراج أعلاه.
قم بإنشاء مستخدم بعيد لديه امتياز الوصول إلى خادم MariaDB عبر SSL. قم بذلك عن طريق تشغيل الأمر التالي:
أولاً ، قم بتسجيل الدخول إلى هيكل MySQL:
mysql -u root -p
بعد ذلك ، قم بإنشاء مستخدم remoteومنح الامتياز للوصول إلى الخادم عبر SSL.
MariaDB [(none)]>GRANT ALL PRIVILEGES ON *.* TO 'remote'@'192.168.0.191' IDENTIFIED BY 'password' REQUIRE SSL;
ثم امسح الامتيازات بالأمر التالي:
MariaDB [(none)]>FLUSH PRIVILEGES;
أخيرًا ، اخرج من هيكل MySQL باستخدام الأمر التالي:
MariaDB [(none)]>exit;
ملاحظة: 192.168.0.191 هو عنوان IP لجهاز المستخدم البعيد (العميل).
خادمك جاهز الآن للسماح بالاتصالات بالمستخدم البعيد.
اكتمل تكوين جانب الخادم الخاص بك. بعد ذلك ، ستحتاج إلى إنشاء مفتاح وشهادة جديدة للعميل.
على جهاز الخادم ، قم بإنشاء مفتاح العميل بالأمر التالي:
sudo cd /etc/mysql-ssl
sudo sudo openssl req -newkey rsa:2048 -days 365 -nodes -keyout client-key.pem -out client-req.pem
بعد ذلك ، قم بمعالجة مفتاح RSA للعميل باستخدام الأمر التالي:
sudo openssl rsa -in client-key.pem -out client-key.pem
أخيرًا ، قم بتوقيع شهادة العميل باستخدام الأمر التالي:
sudo openssl x509 -req -in client-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
جميع الشهادات والمفتاح جاهزة للعميل. بعد ذلك ، ستحتاج إلى نسخ جميع شهادات العميل إلى أي جهاز عميل تريد تشغيل عميل MariaDB فيه.
ستحتاج إلى تثبيت عميل MariaDB على جهاز العميل.
أولاً ، على جهاز العميل ، قم بتنزيل مفتاح MariaDB باستخدام الأمر التالي:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
بعد ذلك ، أضف مستودع MariaDB إلى /etc/apt/sources.listالملف:
sudo echo "deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu xenial main" >> /etc/apt/sources.list
بعد ذلك ، قم بتحديث فهرس apt بالأمر التالي:
sudo apt-get update -y
بمجرد تحديث فهرس apt ، قم بتثبيت عميل MariaDB على جهاز العميل بالأمر التالي:
sudo apt-get install mariadb-client -y
الآن قم بإنشاء دليل لتخزين جميع الشهادات:
sudo mkdir /etc/mysql-ssl
بعد ذلك ، انسخ جميع شهادات العميل من جهاز الخادم إلى جهاز العميل باستخدام الأمر التالي:
sudo scp root@192.168.0.190:/etc/mysql-ssl/client-* /etc/mysql-ssl/
بعد ذلك ، ستحتاج إلى تكوين عميل MariaDB لاستخدام SSL. يمكنك القيام بذلك عن طريق إنشاء /etc/mysql/mariadb.conf.d/50-mysql-clients.cnfملف:
sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
أضف الأسطر التالية:
[client]
ssl-ca=/etc/mysql-ssl/ca-cert.pem
ssl-cert=/etc/mysql-ssl/client-cert.pem
ssl-key=/etc/mysql-ssl/client-key.pem
احفظ الملف عند الانتهاء.
الآن بعد أن تم تكوين كل شيء ، حان الوقت للتحقق مما إذا كان يمكنك الاتصال بخادم MariaDB بنجاح أم لا.
على جهاز العميل ، قم بتشغيل الأمر التالي للاتصال بخادم MariaDB:
mysql -u remote -h 192.168.0.190 -p mysql
سيُطلب منك إدخال remoteكلمة مرور المستخدم. بعد إعطاء كلمة المرور ، سيتم تسجيل دخولك إلى خادم MariaDB البعيد.
تحقق من حالة الاتصال بالأمر التالي:
MariaDB [mysql]> status
يجب أن تشاهد الإخراج التالي:
--------------
mysql Ver 15.1 Distrib 10.2.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Connection id: 62
Current database: mysql
Current user: remote@192.168.0.191
SSL: Cipher in use is DHE-RSA-AES256-SHA
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.0.31-MariaDB-0ubuntu0.16.04.2 Ubuntu 16.04
Protocol version: 10
Connection: 192.168.0.190 via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 1 hours 31 min 31 sec
يجب أن ترى SSL: Cipher in use is DHE-RSA-AES256-SHAفي الإخراج أعلاه. هذا يعني أن اتصالك آمن الآن مع SSL.
تهانينا! لقد نجحت في تكوين خادم MariaDB بدعم SSL. يمكنك الآن منح الوصول إلى عملاء آخرين للوصول إلى خادم MariaDB عبر SSL.
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد