วิธีลบเซิร์ฟเวอร์ mysql อย่างสมบูรณ์ ระบบโอเพ่นซอร์สในไอที

การกู้คืนรหัสผ่านที่ลืมสำหรับรูท "a

    หยุด mysqld

    หยุดบริการ mysql Sudo

    เรียกใช้ mysqld ด้วยพารามิเตอร์ --skip-grant-tables --user \u003d root:

    Sudo mysqld --skip-grant-tables --user \u003d root

    เชื่อมต่อกับเซิร์ฟเวอร์ MySQL ด้วยคำสั่ง:

    Mysql -u root

    อัปเดตรหัสผ่านสำหรับรูท "a:

    อัพเดท mysql.user ตั้งรหัสผ่าน \u003d PASSWORD ("") WHERE User \u003d "root"; สิทธิในการชำระล้าง

ตอนนี้คุณสามารถล็อกอินด้วยรูทด้วยรหัสผ่านใหม่

ฐานข้อมูลที่สร้างขึ้นใหม่จะปรากฏทันทีในเมนูทางด้านซ้ายของหน้าต่าง หากต้องการลบฐานข้อมูลที่สร้างขึ้นใหม่เพียงแค่เลือกฐานข้อมูลจากเมนูที่มีอยู่ในส่วนด้านซ้ายของหน้าต่างจากนั้นคลิกไฮเปอร์ลิงก์“ ลบฐานข้อมูล” ที่ด้านล่างของหน้าต่าง ที่ บรรทัดคำสั่ง   เรียกใช้คำสั่งต่อไปนี้ คำสั่งนี้จะสร้างฐานข้อมูลที่เรียกว่า "ฐานข้อมูล" เราสามารถลบฐานข้อมูลโดยการปล่อย

เราจำเป็นต้องเริ่มการเรียกฟังก์ชั่นฐานข้อมูลจากการเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูล สคริปต์สิ้นสุดด้วยการปิดการเชื่อมต่อฐานข้อมูล ในตัวอย่างทั้งหมดต่อไปนี้เราสร้างฐานข้อมูลที่เรียกว่า "ฐานข้อมูล" ดังนั้นในการสร้างฐานข้อมูล "ฐานข้อมูล" วิธีที่สองคือการลบฐานข้อมูลแรก

วิธีการเพิ่ม / ลบผู้ใช้ใน MySQL จากคอนโซล

เกิดขึ้นว่ามีการติดตั้งเครื่องระยะไกล / เสมือนและคุณต้องสร้างผู้ใช้ / ฐานข้อมูลและให้สิทธิ์ แต่คุณไม่ต้องการติดตั้ง phpmyadmin หรือเพียงแสดงความสามารถในการทำงานกับผู้ใช้ mysql จากคอนโซลหน้าเพื่อนร่วมงาน;)

ก่อนอื่นคุณต้องเข้าสู่ระบบในฐานะ root:

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

Mysql -u root -p

หลังจากป้อนรหัสผ่านเราจะอยู่ในคอนโซล mysql

สร้างการทดสอบผู้ใช้ด้วย localhost และรหัสผ่าน "รหัสผ่าน"

สร้างผู้ใช้ "test" @ "localhost" ที่ระบุโดย "รหัสผ่าน";

สร้างโดยผู้ใช้ วิธีตรวจสอบดูรายชื่อผู้ใช้:

เลือกผู้ใช้โฮสต์รหัสผ่านจาก mysql.user

มาสร้างฐานข้อมูล testdb กัน

สร้างฐานข้อมูล testdb;

ทำการทดสอบผู้ใช้ สิทธิอย่างเต็มรูปแบบ   ไปยังฐาน testdb

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

ให้สิทธิ์ทั้งหมดใน testdb * ถึง "test" @ "localhost"

ลบผู้ใช้ "test" @ "localhost"

วางผู้ใช้ "ทดสอบ" @ "localhost"

ถ้าคุณสร้างผู้ใช้สำหรับโฮสต์ที่แตกต่างกันและต้องการที่จะลบทั้งหมดแล้วคุณจะต้องลบพวกเขาหนึ่งโดยหนึ่งถึง "ผู้ใช้ลดลงคำสั่ง" กับโฮสต์

ความสนใจ!   คำสั่ง "DROP USER" ไม่ได้ปิดเซสชันทั้งหมดที่เปิดโดยผู้ใช้ที่จะถูกลบโดยอัตโนมัติ หากผู้ใช้ที่เปิดเซสชันถูกลบไปแล้วการลบจะไม่มีผลจนกว่าผู้ใช้จะปิดเซสชัน หลังจากเซสชันถูกปิดความพยายามครั้งถัดไปในการเข้าสู่ระบบโดยผู้ใช้ที่ถูกลบจะล้มเหลว

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

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

ลบฐานข้อมูล testdb

วางฐานข้อมูล testdb;

ป.ล. อย่าลืมใส่หลังจากแต่ละทีม ;

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

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

ตอนนี้มี MySQL หลายเวอร์ชัน โดยตรง mysql, พัฒนาโดย Oracle และเป็นอิสระจากผู้พัฒนาหลัก mysql, MariaDB โปรแกรมได้รับชื่อ MairaDB เพื่อเป็นเกียรติแก่ลูกสาวคนแรกของโปรแกรมเมอร์เช่นเดียวกับ MySQL เพื่อเป็นเกียรติแก่ชื่อที่สอง ในที่สุด linux ดิสทริบิวชัน   ใช้โดย MariaDB รวมถึง Ubuntu เราจะพิจารณาการติดตั้งเวอร์ชั่นนี้โดยเฉพาะ แต่สำหรับความเข้ากันได้นั้นยังคงเรียกว่า MySQL ในบทความนี้เราจะดูว่ามีการติดตั้ง MySQL Ubuntu 16.04 หรือ 16.10 อย่างไร

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

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

การติดตั้ง MySQL บน Ubuntu 16.04

โปรแกรมและส่วนประกอบที่จำเป็นทั้งหมดอยู่ในที่เก็บอย่างเป็นทางการดังนั้นการติดตั้งจึงไม่ยาก หากต้องการติดตั้งจากที่เก็บข้อมูลอย่างเป็นทางการอันดับแรกให้อัพเดตรายการแพ็กเกจ:

จากนั้นติดตั้งแพ็คเกจที่จำเป็น:

sudo apt ติดตั้ง mariadb-server mariadb-client

ในปัจจุบัน ที่เก็บ Ubuntu   16.10 มีเฉพาะรุ่น MariaDB 10.0 แต่รุ่นมั่นคงของ MariaDB 10.1 มีอยู่แล้ว ในการติดตั้งคุณต้องใช้ที่เก็บข้อมูลสำหรับนักพัฒนาอย่างเป็นทางการ ในการเพิ่มที่เก็บใน Ubuntu 16.10 ให้ทำดังนี้

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

ในคลัสเตอร์ 2 คุณต้องเลือกหนึ่งในฟังก์ชันต่อไปนี้ สำหรับเมล็ดของซีรี่ย์ 0 ขึ้นไปคุณจะต้องเลือกฟังก์ชั่นอื่น ๆ อีกมากมาย อาจมีแพคเกจพิเศษของอุปกรณ์เครือข่ายที่ต้องดำเนินการแยกต่างหาก มันลดความซับซ้อนอย่างมาก เวอร์ชั่นใหม่   ไฟร์วอลล์ ความแตกต่างคือการสนับสนุนรูปแบบการพัฒนาและแพ็คเกจการกรองข่าว การเขียนสคริปต์ข้ามไซต์เป็นช่องโหว่ของระบบข้อมูลที่มักพบในเว็บไซต์ซึ่งช่วยให้คุณสามารถฝังโค้ดโปรแกรมเพิ่มเติมในหน้าที่ดูโดยผู้ใช้


  $ sudo add-apt-repository "deb http://mirror.klaus-uwe.me/mariadb/repo/10.1/ubuntu yakkety main"

และใน Ubuntu 16.04:

sudo apt-get install software-properties-common
  $ sudo apt-key adv --recv-keys --keyserver hkp: //keyserver.ubuntu.com: 80 0xF1656F24C74CD1D8
  $ sudo add-apt-repository "deb http://mirror.klaus-uwe.me/mariadb/repo/10.1/ubuntu xenial main"


จากนั้นในการติดตั้ง mysql Ubuntu 16.04 หรือ 16.04 เพียงใช้คำสั่งที่คุ้นเคย:

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

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

อัปเดต sudo apt
  $ sudo apt ติดตั้ง mariadb-server mariadb-client

ระหว่างการติดตั้งคุณจะต้องป้อนรหัสผ่านสองครั้ง ผู้ใช้รูท   ฐานข้อมูล:



หลังจากการติดตั้งเสร็จสมบูรณ์คุณสามารถตรวจสอบได้ว่าทุกอย่างเรียบร้อยแล้ว:

sudo systemctl หยุด mysql


คุณควรเห็นฉลากสีเขียวทำงานอยู่และรุ่นของโปรแกรมที่คุณติดตั้ง

ตั้งค่า Mysql ใน Ubuntu

ก่อนที่คุณจะสามารถใช้ฐานข้อมูลที่เพิ่งติดตั้งใหม่ได้อย่างสมบูรณ์คุณต้องดำเนินการกำหนดค่าเริ่มต้น สคริปต์พิเศษได้รับการพัฒนาสำหรับสิ่งนี้รันมัน:

mysql_secure_installation


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



ป้อนรหัสผ่านใหม่สองครั้ง:


ป้อน Y เพื่อปิดใช้งานการเข้าถึงแบบไม่ระบุชื่อ mysql:


อีกครั้ง Y เพื่อป้องกันไม่ให้รูทเชื่อมต่อกับฐานข้อมูลจากระยะไกล:


อีกครั้ง Y เพื่อลบฐานข้อมูลทดสอบ:


ขั้นตอนสุดท้ายคือการอัปเดตสิทธิ์ผู้ใช้:


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

sudo mysql -u root -p


ที่นี่เราจำเป็นต้องสร้างผู้ใช้ในนามของผู้ที่เราจะใช้ฐานข้อมูลเช่นเดียวกับฐานข้อมูลของตัวเอง หากต้องการทำสิ่งนี้ให้ใช้คำสั่ง SQL ก่อนอื่นเราสร้างฐานข้อมูล:

mysql\u003e สร้างฐานข้อมูล testDB;


mysql\u003e สร้างผู้ใช้ "my_user" @ "localhost" ระบุโดย "รหัสผ่าน";


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

mysql\u003e GRANT ALL ON testDB. * เป็น "my_user" @ "localhost";


หรือคุณสามารถให้สิทธิกับเพียงไม่กี่คำแนะนำ:

mysql\u003e GRANT SELECT, UPDATE, DELETE บน testDB. * เป็น "my_user" @ "localhost";

หากคำสั่งใด ๆ ต้องปิดการใช้งานให้ลบออก:

mysql\u003e ยกเลิกการอัพเดท ON testDB * จาก "my_user" @ "localhost";

หลังจากทำงานกับสิทธิ์คุณจะต้องอัปเดตพวกเขา:

mysql\u003e ล้างสิทธิ;


เพื่อให้แน่ใจว่าไม่มีใครอีกคุณสามารถแสดงรายการผู้ใช้:

mysql\u003e ผู้ใช้ SELECT, โฮสต์, รหัสผ่านจาก mysql.user;


นอกจากนี้คุณยังสามารถดูสิทธิ์สำหรับผู้ใช้ที่ต้องการ:

mysql\u003e แสดง GRANTS สำหรับ "my_user" @ "localhost";


ติดตั้งทันที mysql Ubuntu   04.16 เสร็จสมบูรณ์และคุณสามารถใช้ฐานข้อมูลนี้เพื่อแก้ปัญหาของคุณ

ถอนการติดตั้ง MySQL ใน Ubuntu

ในการลบ mysql Ubuntu 16.04 คุณต้องมีคำสั่งมากกว่าสองสามคำสั่งเพื่อที่จะลบแพ็คเกจง่ายๆ หลังจากลบแพ็คเกจหลักแล้วไฟล์จำนวนมากยังคงอยู่ในระบบ เราจะพิจารณาวิธีการลบทุกอย่าง

หยุดบริการก่อน:

บริการ sudo mysql หยุด
  $ sudo killall -KILL mysql mysqld_safe mysqld

นำแพคเกจหลักและการอ้างอิงของพวกเขา

sudo apt -y purge mysql-server mysql-client
  $ sudo apt -y autoremove --purge
  $ sudo apt autoclean

ลบผู้ใช้ mysql และส่วนที่เหลือของโปรแกรมในระบบ:

deluser - ลบ mysql ออกที่บ้าน
  $ sudo delgroup mysql
  $ rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld / etc / mysql / var / lib / mysql / var / log / mysql * / var / log / เริ่มต้น / mysql.log * / var / run / mysqld
  $ updatedb

ลบบันทึกการเชื่อมต่อ mysql ทั้งหมดออกจากเทอร์มินัล:

sudo find / -name .mysql_history -delete

ตอนนี้ระบบของคุณจะถูกล้างข้อมูลใน MySQL อย่างสมบูรณ์

ผลการวิจัย

ในบทความนี้เราได้ศึกษาวิธีการติดตั้ง mysql ubuntu 16.04 หรือ 16.10 อย่างที่คุณเห็นนี่ไม่ใช่เรื่องยากมากแม้ว่ามันจะต้องมีความรู้และมีเวลาจัดการกับทุกสิ่ง ฉันหวังว่าข้อมูลนี้มีประโยชน์สำหรับคุณ