มีบางสถานการณ์ที่ผู้ดูแลระบบไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้ เหตุการณ์นี้เกิดขึ้นเนื่องจากลืมรหัสผ่านของผู้ใช้ หรือมีการกำหนดค่าที่ไม่ถูกต้องระหว่างการเปลี่ยนแปลง ในกรณีเช่นนี้ จำเป็นต้องควบคุมเซิร์ฟเวอร์อีกครั้งและตั้งรหัสผ่านใหม่
มันจำเป็น
เอกสารทางเทคนิคของเซิร์ฟเวอร์
คำแนะนำ
ขั้นตอนที่ 1
เราปิดเซิร์ฟเวอร์ ในการดำเนินการนี้ ให้เข้าสู่ระบบในฐานะผู้ใช้รูทบนคอมพิวเตอร์เซิร์ฟเวอร์ และออกด้วยคำสั่ง kill
ขั้นตอนที่ 2
เราใช้คำสั่ง kill-9 หากเซิร์ฟเวอร์ไม่ตอบสนองต่อสัญญาณการปิดระบบ คำสั่งนี้มีไว้สำหรับบังคับปิด แต่อย่ารีบเร่งที่จะใช้ เนื่องจากมีความเสี่ยงที่ตารางจะเสียหาย
ขั้นตอนที่ 3
เราตรวจสอบตารางด้วยคำสั่ง myisamchk และ isamchk ในแต่ละกรณี คุณควรใช้เอกสารทางเทคนิค โดยเฉพาะอย่างยิ่งจากส่วน "การบำรุงรักษาและการกู้คืนฐานข้อมูล" เพื่อกำหนดความถูกต้องของการปิดตาราง คุณต้องทำตามขั้นตอนนี้ก่อนที่จะเริ่มเซิร์ฟเวอร์ในครั้งถัดไป
ขั้นตอนที่ 4
รีสตาร์ทเซิร์ฟเวอร์โดยใช้ตัวเลือก -skip-grant-tables ซึ่งจะป้องกันไม่ให้เซิร์ฟเวอร์ใช้ตารางการอนุญาตเมื่อตรวจสอบการเชื่อมต่อ ดังนั้นจึงเป็นไปได้ที่จะเชื่อมต่อกับเซิร์ฟเวอร์ในฐานะผู้ใช้รูทที่เปิดใช้งานสิทธิ์โดยไม่ต้องป้อนรหัสผ่าน
ขั้นตอนที่ 5
รีสตาร์ทเซิร์ฟเวอร์ด้วยตัวเลือก --skip-grant-tables แต่ในทางที่ต่างไปจากขั้นตอนที่ 4 เล็กน้อย ให้ไปที่ /etc/init.d แล้วพิมพ์คำสั่ง - mysqld stop จากนั้นเราก็เริ่ม mysqld ---- skip-grant-tables หลังจากนั้น ตั้งรหัสผ่านใหม่สำหรับเซิร์ฟเวอร์: mysqladmin -h host -u ป้อนชื่อผู้ใช้และรหัสผ่านใหม่ของคุณ รีบูตโดยใช้การสนับสนุนตารางการอนุญาต