เนื่องจากอุบัติเหตุฉันลบไดเรกทอรี / var / lib / mysql ทั้งหมด เนื่องจากฐานข้อมูลไม่ได้มีสิ่งที่สำคัญฉันไม่ต้องการผ่านความยุ่งยากในการกู้คืนจากการสำรองข้อมูลเก่า แต่สร้างโครงสร้างไดเรกทอรีแทนตั้งแต่ต้น ฉันจะทำอย่างไรโดยไม่ต้องติดตั้ง MySQL ใหม่
เนื่องจากอุบัติเหตุฉันลบไดเรกทอรี / var / lib / mysql ทั้งหมด เนื่องจากฐานข้อมูลไม่ได้มีสิ่งที่สำคัญฉันไม่ต้องการผ่านความยุ่งยากในการกู้คืนจากการสำรองข้อมูลเก่า แต่สร้างโครงสร้างไดเรกทอรีแทนตั้งแต่ต้น ฉันจะทำอย่างไรโดยไม่ต้องติดตั้ง MySQL ใหม่
คำตอบ:
คุณควรจะสามารถเรียกใช้mysql_install_db
จากบรรทัดคำสั่ง
mysql_install_db เริ่มต้นไดเรกทอรีข้อมูล MySQL และสร้างตารางระบบที่มีอยู่หากไม่มีอยู่ นอกจากนี้ยังเริ่มต้นตารางพื้นที่ระบบและโครงสร้างข้อมูลที่เกี่ยวข้องที่จำเป็นในการจัดการตาราง InnoDB ในฐานะของ MySQL 5.6.8, mysql_install_db เป็นสคริปต์ Perl และสามารถใช้กับระบบที่ติดตั้ง Perl ได้ ก่อน 5.6.8 เป็นเชลล์สคริปต์และพร้อมใช้งานบนแพลตฟอร์ม Unix เท่านั้น
โปรดอ่านเอกสาร MySQL เต็มmysql_install_db
แล้ว ...
หากไม่ได้ผลในการลองครั้งแรกให้ทำเช่นนี้
mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql
จากนั้นเรียกใช้mysql_install_db
อีกครั้ง
restorecon -r /var/lib/mysql
เปิดใช้งาน SELinux ด้วย
สำหรับ MySQL 5.7> เพียง:
# Move or remove the original dir
mv /var/lib/mysql /tmp/mysql
# Create a new dir
mkdir /var/lib/mysql
# Change owner to mysql (user and group)
chown -R mysql:mysql /var/lib/mysql
# Create MySQL initial data
mysqld --initialize