เรียกคืนตารางจากไฟล์. frm และ. ibd หรือไม่


36

ก่อนหน้านี้ฉันได้บันทึกสำเนาของไดเรกทอรี / var / lib / mysql / ddms ("ddms" เป็นชื่อสคีมา) ตอนนี้ฉันติดตั้ง MySQL ใหม่บน Ubuntu 10.04.3 LTS ที่เพิ่งติดตั้งใหม่โดยใช้งานapt-get install mysql-serverฉันเชื่อว่าเวอร์ชัน 5.1 ได้รับการติดตั้งแล้ว หลังจากที่ฉันคัดลอกไดเรกทอรี ddms ภายใต้ / var / lib / mysql บางส่วนของตารางทำงานได้ดีเหล่านี้เป็นตารางที่มีชุดของไฟล์สามไฟล์ที่เกี่ยวข้อง: ไฟล์. frm, ไฟล์. MYM และไฟล์. MYI

อย่างไรก็ตามมีสองตารางที่มีชุดไฟล์ต่างกัน: ไฟล์. frm และไฟล์. ibd สองตารางนี้ไม่แสดงในรายการตารางใน phpMyAdmin เมื่อฉันดูบันทึกข้อผิดพลาดจะมีข้อความแจ้งว่า:

[ERROR] Cannot find or open table ddms/dictionary_item from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.

โปรดช่วยด้วยการกู้คืนสองตารางนี้ ขอบคุณ


ใบเสนอราคานี้ตั้งแต่วันที่ 23 เม.ย. 12 โดย Rolando ยังคงใช้ได้วันนี้ 'เพียงแค่คัดลอกไฟล์. frm และ. ibd จากที่หนึ่งไปยังอีกที่หนึ่งกำลังขอให้มีปัญหา' ใช้ทางเลือกเช่น mysqldump เพื่อนำข้อมูลเก่าของคุณไปไว้ในแบบฟอร์มที่สามารถโหลดได้ตามที่วางแผนไว้เมื่อหลายปีก่อน เรียกอีกอย่างว่าการสำรองข้อมูล
Wilson Hauck

คำตอบ:


35

ไม่สามารถคัดลอกตาราง InnoDB ในลักษณะเดียวกับที่ตาราง MyISAM

เพียงแค่คัดลอกไฟล์. frm และ. ibd จากที่หนึ่งไปยังอีกที่หนึ่งกำลังขอปัญหา การคัดลอกไฟล์. frm และ. ibd ของตาราง InnoDB จะทำได้ก็ต่อเมื่อคุณสามารถรับประกันได้ว่ารหัสพื้นที่ตารางของไฟล์. ibd ตรงกับรายการ tablespace ใน metdata ของไฟล์ ibdata1เท่านั้น

ฉันเขียนสองโพสต์ใน DBA StackExchange เกี่ยวกับแนวคิด id tablespace นี้

นี่คือการเชื่อมโยงที่ดีเกี่ยวกับวิธีการใส่กลับเข้าไปไฟล์ .ibd ใด ๆ ที่จะ ibdata1 ในกรณีของรหัส tablespace ไม่ตรงกัน: http://www.chriscalender.com/?tag=innodb-error-tablespace-id-in-file หลังจากอ่านสิ่งนี้แล้วคุณควรตระหนักทันทีว่าการคัดลอกไฟล์. ibd เป็นสิ่งที่ธรรมดามาก

คุณสามารถใช้คำแนะนำจากลิงค์ Chris Calendar หรือคุณสามารถกลับไปที่การติดตั้ง mysql แบบเก่าเริ่มการทำงานของ mysql จากนั้น mysqldump ddmsฐานข้อมูล จากนั้นนำเข้า mysqldump นั้นไปยังอินสแตนซ์ mysql ใหม่ของคุณ เชื่อใจฉันนี่จะง่ายกว่านี้อีก


ดังนั้นตารางเดียวอาจไม่ใช่ความคิดที่ดี แต่สิ่งที่เกี่ยวกับฐานข้อมูลทั้งหมดในเวลา? ฉันมีตารางผู้ใช้ของฉันล้มเหลวและฉันต้องทำ - เริ่มต้นบน mysqld ฉันสามารถคัดลอกโฟลเดอร์ฐานข้อมูล InoDB ทั้งหมดจากโฟลเดอร์ data_backup ได้หรือไม่
FMaz008

Rolando ในกรณีที่คุณสามารถช่วยฉันได้: serverfault.com/q/908988/224334
IonicăBizău

โพสต์ของคุณHow to Recover an InnoDB table whose files were moved around ช่วยชีวิตฉันไว้อย่างแท้จริง ขอบคุณมาก.
เปาโล Griiettner

20

ฉันเพิ่งพบปัญหาเดียวกันนี้ นี่คือขั้นตอนที่ฉันใช้แก้ปัญหาโดยไม่ต้องยุ่งกับ tablespace id ดังที่ RolandoMySQLDBA กล่าวถึงข้างต้น ฉันใช้ Mac ดังนั้นฉันจึงใช้ MAMP เพื่อกู้คืนฐานข้อมูลไปยังจุดที่ฉันสามารถส่งออกในการถ่ายโอนข้อมูล MySQL

คุณสามารถอ่านโพสต์บล็อกแบบเต็มเกี่ยวกับที่นี่: http://www.quora.com/Jordan-Ryan/Web-Dev/How-to-Recover-innoDB-MySQL-files-using-MAMP-on-a-Mac

คุณต้องมี:

-ibdata1

-ib_logfile0

-ib_logfile1

-.FRM ไฟล์จากโฟลเดอร์ mysql_database

- ติดตั้งใหม่ของ MAMP / MAMP Pro ที่คุณต้องการทำลาย (ถ้าจำเป็น)

  1. SSH ลงในเว็บเซิร์ฟเวอร์ของคุณ (dev, การผลิต, ไม่แตกต่างกัน) และเรียกดูโฟลเดอร์ mysql ของคุณ (เหมืองอยู่ที่ / var / lib / mysql สำหรับการติดตั้ง Plesk บน Linux)
  2. บีบอัดโฟลเดอร์ mysql
  3. ดาวน์โหลดไฟล์เก็บถาวรของโฟลเดอร์ mysql ซึ่งควรมีฐานข้อมูล mySQL ทั้งหมดไม่ว่าจะเป็น MyISAM หรือ innoDB (คุณสามารถสแกนไฟล์นี้หรือย้ายไฟล์นี้ไปยังไดเรกทอรีที่ดาวน์โหลดได้หากจำเป็น)
  4. ติดตั้ง MAMP (Mac, Apache, MySQL, PHP)
  5. เรียกดู / แอปพลิเคชัน / MAMP / db / mysql /
  6. สำรองข้อมูล / แอปพลิเคชั่น / MAMP / db / mysql ไปยังไฟล์ zip (ในกรณี)
  7. คัดลอกในโฟลเดอร์และไฟล์ทั้งหมดที่รวมอยู่ในไฟล์เก็บถาวรของโฟลเดอร์ mysql จากเซิร์ฟเวอร์ที่ใช้งานจริง (สภาพแวดล้อม mt Plesk ในกรณีของฉัน) ยกเว้นไม่ควรเกิน:

    - / Applications / MAMP / DB / MySQL / MySQL /

    - / Applications / MAMP / DB / MySQL / mysql_upgrade_info

    - / Applications / MAMP / DB / MySQL / performance_schema

  8. และ voila ตอนนี้คุณน่าจะสามารถเข้าถึงฐานข้อมูลจาก phpMyAdmin ได้แล้วการบรรเทาทุกข์!

แต่เรายังไม่เสร็จตอนนี้คุณต้องทำการ mysqldump เพื่อกู้คืนไฟล์เหล่านี้ไปยังสภาพแวดล้อมการผลิตของคุณและส่วนต่อประสาน phpmyadmin หมดเวลาสำหรับฐานข้อมูลขนาดใหญ่ ทำตามขั้นตอนที่นี่:

http://nickhardeman.com/308/export-import-large-database-using-mamp-with-terminal/

คัดลอกด้านล่างเพื่อการอ้างอิง โปรดทราบว่าในการติดตั้ง MAMP เริ่มต้นรหัสผ่านคือ "root"

วิธีการเรียกใช้ mysqldump สำหรับ MAMP โดยใช้ Terminal

ฐานข้อมูลการส่งออกจาก MAMP [1]

ขั้นตอนที่หนึ่ง: เปิดหน้าต่างเทอร์มินัลใหม่

ขั้นตอนที่สอง: ไปที่การติดตั้ง MAMP โดยป้อนบรรทัดต่อไปนี้ในเทอร์มินัล cd / applications / MAMP / library / bin กดปุ่ม Enter

ขั้นตอนที่สาม: เขียนคำสั่ง dump ./mysqldump -u [USERNAME] -p [DATA_BASENAME]> [PATH_TO_FILE] กดปุ่ม Enter

ตัวอย่าง:

./mysqldump -u root -p wp_database > /Applications/MAMP/htdocs/symposium10_wp/wp_db_onezero.sql

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

ขั้นตอนที่สี่: บรรทัดข้อความนี้ควรปรากฏขึ้นหลังจากที่คุณกด Enter ป้อนรหัสผ่าน: ดังนั้นเดารหัสผ่านของคุณจำไว้ว่าตัวอักษรจะไม่ปรากฏ แต่มีอยู่ที่นั่นกดปุ่ม Enter

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

ตอนนี้คุณมีการส่งออกฐานข้อมูล mysql ของคุณแล้วคุณสามารถนำเข้าฐานข้อมูลการผลิตได้


1
ยังคงทำงานอยู่ตั้งแต่ปี 2018 คำตอบนี้คือทองคำ ส่วนที่สำคัญสำหรับฉันคือ # 7 ไฟล์เหล่านี้เป็นไฟล์ที่คุณต้องเก็บไว้อย่างแน่นอน (ไม่ได้กล่าวถึงที่อื่นในโซลูชันที่คล้ายกันขอบคุณสำหรับ @jordan)
Bigood

@Bigood ดีใจที่มันยังคงช่วย!
jordan8037310

15

ฉันกู้คืนไฟล์ MySQL 5.5 * .ibd และ * .frm ด้วยการใช้ MySQL Utilites และ MariaDB 10 แล้ว

1) การสร้างสร้าง SQL
คุณสามารถสร้าง sql's ได้จากไฟล์ frm คุณต้องใช้: https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqlfrm.html

เชลล์> mysqlfrm --server = root: pass @ localhost: 3306 c: \ MY \ t1.frm - -port = 3310

วิธีอื่นที่คุณอาจสร้าง sql's

2) สร้างตารางของคุณ
สร้างตารางของคุณบนฐานข้อมูล

3) แก้ไขตาราง xxx ยกเลิก tablespace
ทิ้งตารางของคุณซึ่งคุณต้องการแทนที่ไฟล์ * .ibd ของคุณ

4) คัดลอกไฟล์ * .ibd ของคุณ (MySQL หรือ MariaDB) ไปยังเส้นทางข้อมูลของ MariaDB
อันดับแรกฉันพยายามใช้ MySQL 5.5 และ 5.6 เพื่อทำการคืนค่า แต่ฐานข้อมูลล้มเหลวและหยุดข้อผิดพลาด tablespace id ทันที ( ข้อผิดพลาด 1,030 (HY000): มีข้อผิดพลาด -1 จากเครื่องมือจัดเก็บข้อมูล )
หลังจากที่ฉันใช้ MariaDB 10.1.8 และฉันกู้คืนข้อมูลของฉันได้สำเร็จ

5) เปลี่ยนตาราง xxx import tablespace
เมื่อคุณเรียกใช้คำสั่งนี้ MariaDB เตือนเกี่ยวกับไฟล์ แต่ไม่สำคัญกว่าการกู้คืนข้อมูลของคุณ :) ฐานข้อมูลยังคงดำเนินต่อไปและคุณสามารถดูข้อมูลของคุณได้

ฉันหวังว่าข้อมูลนี้จะเป็นประโยชน์สำหรับคุณ


1
สิ่งนี้ใช้ได้สำหรับฉัน แม้ว่าmysqlfrm(ลองเวอร์ชัน 1.3.5 และ 1.6.5 กับ MySQLs 5.6 และ 5.7) ไม่ได้ให้CREATEคำจำกัดความที่ถูกต้องแม้ว่าจะใช้ MySQL 5.7 ( ROW_FORMAT เริ่มต้นเปลี่ยนไปใน MySQL 5.7.9 ) ส่งผลให้Schema mismatch (Expected FSP_SPACE_FLAGS=0x21, .ibd file contains 0x0.)เมื่อนำเข้าพื้นที่ตาราง การเพิ่มด้วยตนเองROW_FORMAT=compactในตอนท้ายของCREATEคำสั่งนั้นเป็นการหลอกลวง
Jānis Elmeris

@ JānisElmeris> Manually adding ROW_FORMAT=compact at the end of the CREATE statement did the trick.นั่นก็ใช้ได้กับฉันเช่นกัน ขอบคุณ! 👍
Synetech

3

ฉันมีปัญหาเดียวกันกับการสำรองไฟล์เท่านั้น

สิ่งที่ฉันทำเพื่อแก้ไขคือการคัดลอกไฟล์ฐานข้อมูลลงใน / var / lib / mysql / yourdb และ ibdata1 ซึ่งอยู่ใน / var / lib / mysql

ฉันสามารถตรวจสอบแล้วว่าฉันสามารถเข้าถึงตาราง mysql -u root -p dbnameและสอบถามบางตารางที่ก่อนหน้านี้เสียหาย

ฉันทำการดัมพ์ของฐานข้อมูลหลังจากนั้นด้วยmysqldump -u root -p [root_password] [database_name]> dumpfilename.sql


2

หากคุณใช้ MAMP และไม่สามารถให้ MySQL เริ่มทำงานหลังจากที่คุณคัดลอกไฟล์ของคุณฉันใส่innodb_force_recovery = 2ข้างในmy.iniแล้วฉันก็สามารถรับ mysql เพื่อเปิดใช้งานและส่งออก db ของฉันได้


1

หากคุณสามารถกู้คืนไฟล์ * .ibd ไปยังเซิร์ฟเวอร์ MySQL ดั้งเดิมอย่าลืมเรียกคืนสิทธิ์การเข้าถึงไฟล์ด้วย ในกรณีของฉัน (MySQL8 บน CentOS7) ฉันกู้คืนไฟล์เป็น /var/lib/mysql/db/tablename.ibd และรัน:

chown mysql tablename.ibd
chgrp mysql tablename.ibd
chmod 0640 tablename.ibd

ก่อนที่จะแก้ไขสิทธิ์การเข้าถึงการเข้าถึงตารางทำให้เกิดข้อผิดพลาด "เซิร์ฟเวอร์ MySQL 2006 หายไป" หลังจากแก้ไขสิทธิ์การเข้าถึงตารางทำงานได้ (แม้ไม่รีสตาร์ทบริการ mysqld)


0

ฉันรวบรวมโพสต์จากหัวข้อที่คล้ายกัน (คำตอบของใครไม่ได้โพสต์ที่นี่):

โซลูชันที่ 1: https://dba.stackexchange.com/a/59978

โซลูชันที่ 2: https://dba.stackexchange.com/a/71785 (+ โพสต์อื่น ๆ ที่นั่น)

โซลูชันที่ 3: ชุดการกู้คืนสำหรับตาราง: https://twindb.com/how-to-recover-innodb-dictionary/

โซลูชันที่ 4: กู้คืนฐานข้อมูล MySQL จากโฟลเดอร์ข้อมูลโดยไม่มี ibdata1 จากไฟล์ ibd

โซลูชันที่ 5: การใช้mysqlfrmคำสั่ง

โซลูชันที่ 6: https://dba.stackexchange.com/a/159001

โซลูชันที่ 7: https://dba.stackexchange.com/a/144573


ดูเหมือนว่าจะเป็นคำตอบสำหรับลิงค์เท่านั้น
mustaccio

เนื่องจากลิงก์ทั้งหมดมาจากเว็บไซต์ของเราเองพวกเขาจึงไม่น่าจะหายไปดังนั้นฉันก็โอเคกับ @mustaccio
jcolebrand

3
ดูเหมือนจะไม่เพิ่มมูลค่ามากนักเนื่องจากสิ่งเหล่านี้ส่วนใหญ่จะปรากฏในรายการ "ที่เกี่ยวข้อง" ทางขวาสองสามพิกเซล
mustaccio

@ jcolebrand ขอบคุณที่เป็นคนใจกว้าง หลายคนไม่เห็นประโยชน์แม้แต่คำตอบที่ไม่ตรง พวกเขาสามารถตรวจพบการฝ่าวงล้อมของกฎเท่านั้น
T.Todua

1
ไม่ แต่คุณต้องเข้าใจว่าเขาพูดถูก คุณไม่ได้เพิ่มมูลค่าใด ๆ ฉันกำลังตอบสนองด้วยการตัดสินว่าไม่ได้รับคำตอบของคุณ จริงๆแล้วมันเป็นคำตอบที่แย่มาก
jcolebrand

0

ฉันต้องการเพิ่มอีกหนึ่งสิ่งสำหรับผู้ใช้ macos El Capitan ยูทิลิตี้ MySQL ไม่รองรับเวอร์ชันนี้ดังนั้นคำสั่ง mysqlfrm จึงไม่เป็นประโยชน์ สิ่งที่ฉันทำคือการกู้คืนโครงสร้างตารางของฉันด้วย dbsake ดังที่แสดงในลิงค์นี้: https://www.percona.com/blog/2015/12/16/recovering-table-structure-from-frm-files-using-dbsake/

สิ่งที่คุณต้องทำคือติดตั้ง dbsake:

# curl -s http://get.dbsake.net > dbsake
# chmod u+x dbsake

จากนั้นใช้คำสั่ง frmdump และระบุพา ธ ไปยังไฟล์. frm ของคุณ:

# ./dbsake frmdump /var/lib/mysql/sakila/staff.frm

คุณจะได้รับข้อความสั่งการสร้าง เมื่อฉันทำสิ่งนี้แล้วฉันเพียงทำตามขั้นตอนที่ 2 ถึง 5 ที่กล่าวถึงโดย @Ecd หวังว่าจะช่วยใครซักคน


0

ฉันขอขอบคุณ Ecd อะไรที่ทำให้ฉัน:

1.-ฉันมีข้อมูลสำรองของฐานเมื่อไม่กี่เดือนที่ผ่านมาสิ่งนี้ช่วยให้ฉันสามารถยกข้อมูลสำรองนี้ใน xampp ใน Windows 10 และสร้างตารางเพื่อให้มีโครงสร้าง (การกำหนดค่า: Windows 10, xampp-windows-x64-7.1.30- 5-VC14) ไฟล์กำหนดค่า mysql my.ini ในตอนท้าย

NOTE: Some tables did not have ROW_FORMAT = COMPACT, so I went to operations on each 
    table and changed it manually.
    (If I did not do that, an error appeared and I did not let the import).

NOTE2: I had the backup of months ago but it should also work by first recovering 
    the structure of the .frm files in case of not having a backup at hand.
    (You can try this link:
    https://www.percona.com/blog/2014/01/02/recover-table-structure-frm-files-mysql- 
    utilities/)

2.-มีฐานข้อมูลเก่าขึ้นฉันดำเนินการแก้ไขตาราง xxx ทิ้ง tablespace สำหรับแต่ละตารางในฐานข้อมูลที่ฉันต้องการกู้คืนแล้วไฟล์. ibd ของโฟลเดอร์ข้อมูลใน C: / xampp / mysql / data / system ถูกลบไปแล้ว (ในกรณีนี้คือเส้นทางนี้)

3.-ฉันทำการคัดลอกไฟล์. ibd จากฐานข้อมูลฉันต้องการกู้คืนไปยังโฟลเดอร์ xampp ของฐานข้อมูลเก่า

4.-เมื่อมีไฟล์ที่ถูกคัดลอก, รัน: แก้ไขตาราง xxx import tablespace สำหรับแต่ละตารางในฐานข้อมูล, คำเตือนจะปรากฏขึ้น แต่เราจะไม่สนใจมัน, ข้อมูลจะถูกโหลดในตารางและสามารถส่งออกได้ในภายหลัง

5.-ส่งออกฐานข้อมูลทั้งหมดเป็นไฟล์ sql และดำเนินการต่อเพื่อสร้างมันในการผลิตและความสำเร็จ!

# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# You can copy this file to
# C:/xampp/mysql/bin/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is C:/xampp/mysql/data) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client] 
# password       = your_password 
port            = 3306 
socket          = "C:/xampp/mysql/mysql.sock"


# Here follows entries for some specific programs 

# The MySQL server
[mysqld]
port= 3306
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql" 
tmpdir = "C:/xampp/tmp" 
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 160M
max_allowed_packet = 300M
sort_buffer_size = 1204K
net_buffer_length = 80K
read_buffer_size = 512K
read_rnd_buffer_size = 1024K
myisam_sort_buffer_size = 8M
log_error = "mysql_error.log"

# Change here for bind listening
# bind-address="127.0.0.1" 
# bind-address = ::1          # for ipv6

# Where do all the plugins live
plugin_dir = "C:/xampp/mysql/lib/plugin/" 

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
# 
# commented in by lampp security
#skip-networking
#skip-federated

# Replication Master Server (default)
# binary logging is required for replication
# log-bin deactivated by default since XAMPP 1.4.11
#log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id   = 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>, <user>, <password> by quoted strings and
#    <port> by the master's port number (3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect), the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file, unless you shutdown
#    the slave server, delete master.info and restart the slaver server.
#    For that reason, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id       = 2
#
# The replication master for this slave - required
#master-host     =   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     =   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password =   <password>
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port     =  <port>
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin


# Point the following paths to different dedicated disks
#tmpdir = "C:/xampp/tmp"
#log-update = /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size = 40M
#bdb_max_lock = 10000

# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "C:/xampp/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/xampp/mysql/data"
#innodb_log_arch_dir = "C:/xampp/mysql/data"
## You can set .._buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
## Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 50M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 600

## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="C:/xampp/mysql/share/charsets"
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION
log_bin_trust_function_creators = 1

[mysqldump]
quick
max_allowed_packet = 160M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

ฉันหวังว่ามันจะช่วยให้คนที่มีสถานการณ์นี้นับถือ

ภาษาอังกฤษจัดทำโดย Google


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