Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีการติดตั้งและกำหนดค่า MySQL บน Ubuntu

MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) แบบโอเพนซอร์ส ทรงพลัง และใช้กันอย่างแพร่หลาย ซึ่งจัดระเบียบข้อมูลลงในตารางข้อมูลเดียวหรือหลายตาราง ซึ่งประเภทข้อมูลอาจเกี่ยวข้องกัน Structured Query Language (SQL) ทำงานร่วมกับ RDBMS และเมื่อมีคนต้องการจัดเก็บหรือจัดการข้อมูลจำนวนมาก พวกเขาจะได้รับบริการของฐานข้อมูลเชิงสัมพันธ์และ SQL

บทความนี้แสดงวิธีกำหนดค่า MySQL บนเซิร์ฟเวอร์ Ubuntu 18.04 ของคุณ นอกจากนี้ยังแสดงวิธีการเปิดใช้งานการรับรองความถูกต้อง ตามด้วยการจัดการบริการ ในตอนท้าย คุณจะได้เรียนรู้วิธีทดสอบบริการเพื่อตรวจสอบการกำหนดค่าที่สำเร็จ

ขั้นตอนที่ 1:การติดตั้งไคลเอนต์ MySQL

ติดตั้ง mysql-client เพื่อเชื่อมต่อกับเซิร์ฟเวอร์จากระยะไกล:

sudo apt install mysql-client -y

ตรวจสอบเวอร์ชันไคลเอ็นต์เพื่อตรวจสอบว่าการติดตั้งสำเร็จหรือไม่:

mysql -V

เอาท์พุต:

mysql Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))

ตอนนี้คุณสามารถใช้คำสั่งต่อไปนี้เพื่อสร้างการเชื่อมต่อระยะไกลกับเซิร์ฟเวอร์ MySQL:

mysql -u <username> -p <password>-h HOSTNAME_OR_IP

ขั้นตอนที่ 2:การติดตั้งเซิร์ฟเวอร์ MySQL

ก่อนติดตั้ง MySQL ตรวจสอบให้แน่ใจว่าได้ติดตั้งและกำหนดค่าเซิร์ฟเวอร์ Ubuntu อย่างถูกต้อง โดยค่าเริ่มต้นเซิร์ฟเวอร์ Ubuntu 18.04 มี MySQL เวอร์ชันล่าสุด 5.7 ในที่เก็บ ใช้คำสั่ง apt เพื่ออัพเดตแพ็คเกจระบบจากที่เก็บดังนี้:

sudo apt update

ตอนนี้ใช้คำสั่งต่อไปนี้เพื่อติดตั้งแพ็คเกจเซิร์ฟเวอร์ MySQL:

sudo apt install mysql-server -y

ขั้นตอนที่ 3:การกำหนดค่า MySQL

ในยุคของภัยคุกคามความปลอดภัยทางไซเบอร์แบบถาวรนี้ เป็นมาตรฐานในการเปลี่ยนตัวเลือกเริ่มต้นหลังจากติดตั้งเซิร์ฟเวอร์สำเร็จ ส่วนนี้จะแนะนำคุณเกี่ยวกับการกำหนดค่าเซิร์ฟเวอร์ MySQL เพื่อขจัดตัวเลือกเริ่มต้นที่ไม่ปลอดภัย เช่น การเข้าสู่ระบบรูทระยะไกล บัญชีผู้ใช้เริ่มต้น ฯลฯ MySQL ช่วยให้งานนี้ง่ายขึ้นโดยทำการเปลี่ยนแปลงทั้งหมดโดยอัตโนมัติโดยใช้สคริปต์ความปลอดภัยอย่างง่าย

sudo mysql_secure_installation

สคริปต์จะแสดงตัวเลือกหลายตัวเพื่อขอคำตอบใช่หรือไม่ใช่เพื่อเปลี่ยนความปลอดภัยเริ่มต้นของ MySQL ตัวอย่างเช่น ข้อความแจ้งแรกร้องขอหากคุณต้องการตั้งค่าปลั๊กอินเพื่อตรวจสอบรหัสผ่าน ให้ตอบว่า ใช่ แล้วไปต่อ

พรอมต์ถัดไปจะขอให้ตั้งรหัสผ่านบัญชีผู้ใช้ root ของ MySQL คุณจะสังเกตได้ว่าการเปิดใช้งานปลั๊กอินตรวจสอบรหัสผ่านทำให้สามารถตั้งค่าความเข้มงวดของรหัสผ่านกับนโยบายและความยาวของรหัสผ่านได้สามระดับ

ป้อนหมายเลขที่คุณต้องการเลือกเพื่อกำหนดระดับความปลอดภัยของรหัสผ่าน จากนั้นระบบจะขอตั้งรหัสผ่านใหม่และพิมพ์ใหม่เพื่อยืนยันดังนี้:

วิธีการติดตั้งและกำหนดค่า MySQL บน Ubuntu

คุณจะสังเกตได้ว่าหลังจากตั้งรหัสผ่านแล้ว ระบบจะแสดงระดับความปลอดภัยและถามว่าคุณต้องการดำเนินการต่อหรือไม่

วิธีการติดตั้งและกำหนดค่า MySQL บน Ubuntu

ตอนนี้ก็จะถามคำถามต่อไป:

  1. การลบผู้ใช้ทดสอบที่ไม่ระบุชื่อ
  2. ปิดการใช้งานการเข้าสู่ระบบระยะไกลจากผู้ใช้รูท
  3. ลบฐานข้อมูลทดสอบ
  4. โหลดตารางสิทธิ์ซ้ำเพื่อบันทึกการเปลี่ยนแปลงทั้งหมด

พิมพ์ Y เพื่อดำเนินการต่อด้วยการตั้งค่าเริ่มต้นเพื่อตั้งกฎความปลอดภัย

วิธีการติดตั้งและกำหนดค่า MySQL บน Ubuntu

MySQL เวอร์ชันเก่า (ก่อน 5.7.6) ต้องการให้คุณเริ่มต้นไดเร็กทอรีฐานข้อมูลด้วยตนเอง สำหรับรุ่นหลังจากนั้น ให้รันคำสั่งต่อไปนี้:

mysqld –initialize

ขั้นตอนที่ 4:การปรับการตรวจสอบสิทธิ์ผู้ใช้ MySQL

โดยไม่คำนึงถึงการสร้างรหัสผ่านสำหรับบัญชีผู้ใช้ MySQL การตั้งค่าการตรวจสอบเริ่มต้นจะปิดใช้งานการใช้รหัสผ่านระหว่างการสร้างการเชื่อมต่อ แต่จะตรวจสอบสิทธิ์ผู้ใช้โดยอัตโนมัติด้วยความช่วยเหลือของ auth_socket เสียบเข้าไป. ปลั๊กอินเป็นคุณสมบัติที่ยอดเยี่ยมสำหรับการใช้งาน อย่างไรก็ตาม มันไม่มีประโยชน์หากคุณต้องการเข้าถึงฐานข้อมูลของคุณจากไคลเอนต์ระยะไกล

เนื่องจากการเข้าถึงฐานข้อมูลโดยไม่ใช้รหัสผ่านทำให้กระบวนการทำงานยุ่งยากเมื่อเข้าถึงโดยโปรแกรมภายนอก ส่วนนี้จึงสรุปวิธีตรวจสอบสิทธิ์ผู้ใช้สองวิธีเมื่อสร้างการเชื่อมต่อ:

1. การตรวจสอบสิทธิ์ผู้ใช้รูทด้วยรหัสผ่าน

เพื่อให้แน่ใจว่าการตรวจสอบผู้ใช้ผ่านรหัสผ่าน คุณสามารถเปลี่ยนปลั๊กอินจาก "auth_socket " ถึง "mysql_native_password " เพื่อจุดประสงค์นี้ ให้เปิดหน้าจอพรอมต์ MySQL โดยใช้ sudo mysql คำสั่งและตรวจสอบปลั๊กอินที่ใช้สำหรับการตรวจสอบผู้ใช้ดังนี้:

SELECT user, authentication_string, plugin, host FROM mysql.user;
วิธีการติดตั้งและกำหนดค่า MySQL บน Ubuntu

ภาพหน้าจอด้านบนแสดงให้เห็นว่าไคลเอ็นต์รูทตรวจสอบตัวเองโดยใช้ปลั๊กอิน "auth_socket" ในการเริ่มต้นการรับรองความถูกต้องของไคลเอ็นต์รูทด้วยรหัสผ่าน ให้ใช้คำสั่ง ALTER USER เพื่อตั้งค่าปลั๊กอิน "mysql_native_password"

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

บันทึกการเปลี่ยนแปลงข้างต้นดังนี้:

FLUSH PRIVILEGES;

คำสั่ง "FLUSH PRIVILEGES" ของ MySQL จะบันทึกการเปลี่ยนแปลงในตารางฐานข้อมูลที่สร้างโดยคำสั่ง ALTER, INSERT, UPDATE และ DELETE


ตอนนี้เพื่อตรวจสอบกลยุทธ์การตรวจสอบสิทธิ์ที่ผู้ใช้แต่ละรายใช้และตรวจสอบว่าไคลเอ็นต์รูทไม่ได้ใช้ปลั๊กอิน "auth_socket" ให้รันคำสั่งอีกครั้ง:

SELECT user,authentication_string,plugin,host FROM mysql.user;
วิธีการติดตั้งและกำหนดค่า MySQL บน Ubuntu

ตอนนี้ผู้ใช้รูทสามารถเชื่อมต่อกับเซิร์ฟเวอร์โดยการตรวจสอบสิทธิ์ผ่านคำสั่งต่อไปนี้:

sudo mysql -u root -p

2. สร้างผู้ใช้เฉพาะ

อีกวิธีหนึ่งในการเปิดใช้งานการรับรองความถูกต้องโดยไม่ต้องใช้ mysql_native_password คือการสร้างผู้ใช้เฉพาะดังต่อไปนี้:

sudo mysql

สร้างบัญชีใหม่และให้สิทธิ์ทั้งหมดเพื่อกำหนดการควบคุมระดับผู้ดูแลระบบให้กับผู้ใช้ใหม่ จากนั้นออกจากพรอมต์ MySQL เรียกใช้แบบสอบถาม SQL ต่อไปนี้ทีละรายการเพื่อให้ได้สิ่งนี้:

CREATE USER 'ubuntu'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'ubuntu'@'localhost' WITH GRANT OPTION;
exit

จัดการและทดสอบบริการ MySQL ด้วย systemctl

ตั้งค่าบริการให้ทำงานเมื่อเริ่มต้นเซิร์ฟเวอร์ Ubuntu โดยใช้ เปิดใช้งาน systemctl คำสั่งดังต่อไปนี้:

sudo systemctl enable mysql

นอกจากนี้ คุณสามารถทดสอบเซิร์ฟเวอร์ให้ใช้งานได้โดยพิมพ์:

sudo systemctl status mysql

หรือ

sudo systemctl status mysql.service
วิธีการติดตั้งและกำหนดค่า MySQL บน Ubuntu

บริการจะทำงานโดยอัตโนมัติหลังจากติดตั้ง MySQL แต่ถ้าไม่ทำ คุณสามารถเริ่มบริการได้โดยใช้คำสั่งต่อไปนี้:

sudo systemctl start mysql

การเริ่มต้นใช้งานเซิร์ฟเวอร์ MySQL บน Ubuntu

MySQL เป็นระบบจัดการฐานข้อมูลแบบโอเพนซอร์ส ใช้งานง่าย ปรับขนาดได้ และมีประสิทธิภาพ นอกจากนี้ยังเป็นส่วนสำคัญของโมเดลสแต็ก LAMP/LEMP หรือเทคโนโลยีเว็บแอปพลิเคชัน ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) นี้ให้การติดตั้งที่ง่ายและการกำหนดค่าที่ง่ายดายในเวอร์ชันล่าสุด

บทความนี้จะแนะนำคุณในการสร้างการตั้งค่า MySQL พื้นฐานที่จะช่วยให้คุณเริ่มต้นเรียนรู้วิธีการทำงานของ MySQL นอกจากนี้ยังครอบคลุมมาตรการรักษาความปลอดภัยที่สำคัญเบื้องต้นในการกำหนดค่าเพื่อหลีกเลี่ยงช่องโหว่ในการตั้งค่าเริ่มต้น คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการรักษาความปลอดภัย MySQL โดยทำตามเคล็ดลับความปลอดภัยขั้นสูง