วิธีการสำรองและกู้คืนฐานข้อมูล PostgreSQL บน Ubuntu 16.04
บทนำ PostgreSQL เป็นระบบจัดการฐานข้อมูลแบบโอเพ่นซอร์สที่สามารถใช้เก็บข้อมูลที่เกี่ยวข้องกับเว็บไซต์ มันยังเป็นที่รู้จักกัน
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
และสร้างใบรับรอง CA และไพรเวตคีย์ด้วยคำสั่งต่อไปนี้:
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 []:[email protected]
จากนั้นสร้างไพรเวตคีย์สำหรับเซิร์ฟเวอร์ด้วยคำสั่งต่อไปนี้:
sudo openssl req -newkey rsa:2048 -days 365 -nodes -keyout server-key.pem -out server-req.pem
ตอบคำถามทั้งหมดตามที่คุณทำในคำสั่งก่อนหน้า
จากนั้นเอ็กซ์พอร์ตไพรเวตคีย์ของเซิร์ฟเวอร์ไปยังคีย์ RSA-type ด้วยคำสั่งต่อไปนี้:
sudo sudo openssl rsa -in server-key.pem -out server-key.pem
สุดท้ายสร้างใบรับรองเซิร์ฟเวอร์โดยใช้ใบรับรอง CA ดังนี้:
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 [email protected]:/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: [email protected]
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
บทนำ PostgreSQL เป็นระบบจัดการฐานข้อมูลแบบโอเพ่นซอร์สที่สามารถใช้เก็บข้อมูลที่เกี่ยวข้องกับเว็บไซต์ มันยังเป็นที่รู้จักกัน
MongoDB ไม่ปลอดภัยตามค่าเริ่มต้น หากคุณกำลังติดตั้ง MongoDB และเปิดใช้งานโดยไม่ต้องกำหนดค่าสำหรับการรับรองความถูกต้องคุณจะมีเวลาที่ไม่ดี
ใช้ระบบที่แตกต่างกันอย่างไร Apache Cassandra เป็นระบบจัดการฐานข้อมูล NoSQL ฟรีและโอเพ่นซอร์สที่ได้รับการออกแบบมาเพื่อให้สามารถปรับขยายได้
RockMongo เป็นเครื่องมือการจัดการ MongoDB บนเว็บซึ่งคล้ายกับเครื่องมือการจัดการ MySQL: phpMyAdmin บทช่วยสอนนี้จะครอบคลุมกระบวนการของการติดตั้ง
ใช้ระบบที่แตกต่างกันอย่างไร Apache Cassandra เป็นระบบจัดการฐานข้อมูล NoSQL ฟรีและโอเพ่นซอร์สที่ได้รับการออกแบบมาเพื่อให้สามารถปรับขยายได้
Laravel GitScrum หรือ GitScrum เป็นเครื่องมือเพิ่มประสิทธิภาพการทำงานแบบโอเพนซอร์สที่ออกแบบมาเพื่อช่วยให้ทีมพัฒนาใช้วิธี Scrum ในแบบเดียวกัน
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เข้าถึง Sudo คำสั่งที่ต้องรันในฐานะรูทจะขึ้นต้นด้วย # และอีกหนึ่งคำสั่ง
MySQL เป็นซอฟต์แวร์ที่ได้รับความนิยมมากที่สุดในโลกที่ใช้สำหรับฐานข้อมูล ตรวจสอบให้แน่ใจว่าคุณมีการสำรองฐานข้อมูลของคุณเป็นสิ่งสำคัญมาก การปฏิบัตินี้ช่วยให้
นับตั้งแต่ก่อตั้งขึ้นในปี 2552 MongoDB ได้เป็นผู้นำในอุตสาหกรรม NoSQL หนึ่งในแนวคิดหลักของ MongoDB คือ Replica Set ดังนั้นก่อนทำงานกับ i
บทนำ MyCLI เป็นไคลเอนต์บรรทัดคำสั่งสำหรับ MySQL และ MariaDB ที่ช่วยให้คุณดำเนินการอัตโนมัติและช่วยให้มีไวยากรณ์ของคำสั่ง SQL ของคุณ MyCL
Barnyard2 เป็นวิธีการจัดเก็บและประมวลผลเอาต์พุตไบนารีจาก Snort ลงในฐานข้อมูล MySQL ก่อนที่เราจะเริ่มโปรดทราบว่าหากคุณไม่มีเสียงอึกทึก
ใช้ระบบที่แตกต่างกันอย่างไร Introduction ArangoDB เป็นฐานข้อมูล NoSQL แบบโอเพ่นซอร์สที่มีตัวแบบข้อมูลที่ยืดหยุ่นสำหรับเอกสารกราฟและคีย์ - ค่า มันคือ
OrientDB เป็นโอเพ่นซอร์สหลายรุ่นถัดไป NoSQL DBMS ด้วยการรองรับโมเดลข้อมูลหลายรุ่น OrientDB สามารถให้ฟังก์ชันการทำงานและความยืดหยุ่นที่มากขึ้น
MongoDB เป็นฐานข้อมูล NoSQL ที่รวดเร็วและมีประสิทธิภาพ อย่างไรก็ตามที่เก็บ Debian อัปเดตช้าและมักจะมีแพ็คเกจรุ่นเก่ามาก tutoria นี้
บทนำ InfluxDB เป็นฐานข้อมูลตามลำดับเวลาที่เขียนใน Go InfluxDB มีประโยชน์หลายอย่างหนึ่งในนั้นคือการเก็บข้อมูลการตรวจสอบบนเซิร์ฟเวอร์ ผม
Redis เป็นที่เก็บโครงสร้างข้อมูล เป็นที่นิยมในไซต์ WordPress เนื่องจากมีการเพิ่มประสิทธิภาพอย่างมากเนื่องจากวิธีการแคชที่ดีที่สุด
บทนำในบทความนี้เราแนะนำวิธีการสำรองข้อมูลหลายฐานข้อมูล MySQL หรือ MariaDB ที่อยู่บนเครื่องเดียวกันโดยใช้ bash scrip ที่กำหนดเอง
Redis เป็นโซลูชันหน่วยเก็บข้อมูลคีย์ - ค่าซึ่งมักถูกเรียกว่าฐานข้อมูล NoSQL สามารถบรรลุความเร็วในการอ่าน / เขียนสูงมากเพราะเป็นหน่วยความจำภายใน
การสำรองข้อมูลเป็นส่วนสำคัญในการจัดการกับฐานข้อมูล ไม่ว่าคุณจะเรียกใช้เว็บไซต์ขององค์กรหรือเพียงแค่โฮสต์ WordPress สิ่งสำคัญคือการสำรองข้อมูลของคุณ
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true
ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร
ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1
AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน