จะเริ่มต้นไฟล์ / var / lib / mysql ใหม่ได้อย่างไร?


15

เนื่องจากอุบัติเหตุฉันลบไดเรกทอรี / var / lib / mysql ทั้งหมด เนื่องจากฐานข้อมูลไม่ได้มีสิ่งที่สำคัญฉันไม่ต้องการผ่านความยุ่งยากในการกู้คืนจากการสำรองข้อมูลเก่า แต่สร้างโครงสร้างไดเรกทอรีแทนตั้งแต่ต้น ฉันจะทำอย่างไรโดยไม่ต้องติดตั้ง MySQL ใหม่

คำตอบ:


18

คุณควรจะสามารถเรียกใช้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อีกครั้ง


มันใช้งานได้ในการลองครั้งแรก ขอบคุณ. รหัสผ่านเป็นปัญหาอื่น
Konrad Gajewski

ดูโพสต์ของฉันdba.stackexchange.com/questions/44645/…
RolandoMySQLDBA

คุณอาจต้องrestorecon -r /var/lib/mysqlเปิดใช้งาน SELinux ด้วย
Mahmoud Mostafa

10

สำหรับ 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

1
คำตอบเดียวที่ใช้ได้กับฉัน
บาฮาโอเดห์

mysql Ver 14.14 Distrib 5.7.22, สำหรับ Linux (x86_64) โดยใช้ EditLine wrapper
Bahaa Odeh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.