ไฟล์เหล่านี้คืออะไรฉันสามารถลบด้วยตนเองได้หรือไม่


11
[root@jiaoyou mysql]# pwd
/var/lib/mysql
[root@jiaoyou mysql]# ls -ls
338256 -rw-rw---- 1 mysql mysql 346030080 2010-04-22 08:08 ibdata1
626812 -rw-rw---- 1 mysql mysql 641222072 2010-01-26 07:17 mysql-bin.000008
316892 -rw-rw---- 1 mysql mysql 324173772 2010-03-25 12:51 mysql-bin.000009
52724 -rw-rw---- 1 mysql mysql  53931666 2010-04-12 12:13 mysql-bin.000010
10136 -rw-rw---- 1 mysql mysql  10359639 2010-04-22 08:32 mysql-bin.000011

mysql> SHOW BINARY LOGS; 
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000008 | 641222072 | 
| mysql-bin.000009 | 324173772 | 
| mysql-bin.000010 |  53931666 | 
| mysql-bin.000011 |  10360680 | 
+------------------+-----------+

ไฟล์เหล่านี้ibdata1, mysql-bin.000008และmysql-bin.000009... มีการขึ้นมากเกินไปของพื้นที่ของฉันมันจะโอเคสำหรับผมที่จะลบบางส่วนของพวกเขาเอง?

อัพเดท ฉันไม่ได้ใช้ประโยชน์จากปรมาจารย์ / ทาสของ MySQL, วิธีการปิดและปิดการใช้งานไบนารีไฟล์ทั้งหมด?


แสดงบันทึกไบนารี; อาจส่งคืนข้อความแสดงข้อผิดพลาดเช่น "ข้อผิดพลาด 1381: คุณไม่ได้ใช้การบันทึกแบบไบนารี"
ชายบรอนซ์อายุ

หากคุณได้รับข้อผิดพลาด 1381: คุณไม่ได้ใช้ข้อความการบันทึกแบบไบนารีนั่นหมายความว่าอย่างไร ปลอดภัยหรือไม่ที่จะลบไฟล์ด้วยตนเอง?
Dan J.

คำตอบ:


9

นั่นคือไฟล์บันทึก mysql bin เซิร์ฟเวอร์อาจระคายเคืองอย่างรุนแรงหากคุณลบด้วย rm

ให้ใช้PURGE BINARY LOGS TO 'mysql-bin.010';ในฐานะผู้ใช้ root mysql เพื่อให้ลบไฟล์ได้อย่างปลอดภัย

ดูข้อมูลเพิ่มเติมได้ที่นี่ในเอกสารประกอบ


อะไรคือความสัมพันธ์ระหว่างบันทึกไบนารี่เหล่านี้?
apache

นี่คือไฟล์ที่อยู่ในไดเร็กทอรี / var / lib / mysql ของคุณ
Tom O'Connor

5

นี่คือไฟล์บันทึกสำหรับบริการ mysql การตั้งค่าสามารถปรับแต่งได้โดยการอัพเดตไฟล์ /etc/my.cnf

หากพวกเขากินพื้นที่ดิสก์ของคุณเพิ่มการตั้งค่าเพื่อล้างบันทึกอัตโนมัติตามจำนวนวันที่คุณต้องการเก็บ

ตัวอย่างเช่นการตั้งค่าด้านล่างจะลบบันทึกทั้งหมดที่เก่ากว่า 90 วัน

**expire_logs_days=100**

เพื่อสะท้อนการตั้งค่านี้เราจำเป็นต้องเริ่มบริการ mysql ใหม่

/etc/init.d/mysql restart

หวังว่านี่จะช่วยได้


นี่คือทางออกที่ทนทานที่สุด วิธีที่ง่ายที่สุดในการกำจัดหากคุณจำรหัสผ่าน MySQL ของคุณไม่ได้ :-)
kasimir

ทางออกที่ดีที่สุด! หากคุณต้องการล้างไฟล์ทั้งหมดเพียงตั้งค่าเป็น 0 วันจากนั้นกลับสู่ค่าที่ดีตามแอปพลิเคชันของคุณ ขอบคุณเพื่อน!
Fábio N Lima

4

mysql-binไฟล์บันทึกไบนารีซึ่งโดยทั่วไปจะมีทั้งสำหรับทั้งประวัติการทำธุรกรรมหรือเพื่อวัตถุประสงค์ในการจำลองแบบ หากต้องการปิดใช้งานการบันทึกแบบไบนารีคุณสามารถแสดงความคิดเห็นlog-bin*บรรทัดใน cnf log-slave-updatesควรมีการแสดงความคิดเห็นด้วยหากเปิดใช้งาน

ibdata*ไฟล์เป็นส่วนหนึ่งของ tablespace ของ InnoDB ซึ่งระบุด้วยการinnodb_data_file_pathตั้งค่า ฉันจะไม่แนะนำให้ลบเว้นแต่คุณจะไม่มีตาราง InnoDB และปิดใช้งาน InnoDB เป็นอันดับแรกโดยใช้skip-innodbใน cnf


ฉันต้องแสดงความคิดเห็นserver-idเพื่อปิดการใช้งานหรือไม่
apache

ไม่คุณทำไม่ได้ แต่ทำได้ ที่ใช้สำหรับการระบุเซิร์ฟเวอร์โดยเฉพาะในระหว่างการจำลองแบบ
วอร์เนอร์

0

หากต้องการปิดการใช้งานการบันทึกอย่างสมบูรณ์คุณจะต้องแสดงความคิดเห็นเกี่ยวกับค่า log-bin ในไฟล์กำหนดค่าของคุณ (โดยทั่วไปแล้ว /etc/my.cnf):

#log-bin = /var/log/mysql/mysql-bin.log

ฉันคิดว่าไฟล์ ibdata1 อาจมีฐานข้อมูลจริง - ฉันไม่ได้ใช้ innodb ดังนั้นฉันไม่แน่ใจ - ดังนั้นฉันจะไม่แนะนำให้ลบไฟล์นั้น คำสั่ง "ล้างไบนารีบันทึกเป็น ... " จะกำจัดบันทึกไบนารีแม้ว่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.