ฉันใช้ MySQL 5.5 บนเครื่องท้องถิ่นเพื่อวิเคราะห์ข้อมูลรัฐบาลจำนวนมาก ฉันได้สร้างฐานข้อมูลท้องถิ่นที่อยู่ในไดรฟ์เริ่มต้นของฉัน (Win7 C: ไดรฟ์) ฉันต้องการจัดเก็บข้อมูลในไดรฟ์ E: ไดรฟ์ภายนอกขนาดใหญ่ eSATA
ฉันควรทำตามขั้นตอนอะไรบ้าง
ฉันใช้ MySQL 5.5 บนเครื่องท้องถิ่นเพื่อวิเคราะห์ข้อมูลรัฐบาลจำนวนมาก ฉันได้สร้างฐานข้อมูลท้องถิ่นที่อยู่ในไดรฟ์เริ่มต้นของฉัน (Win7 C: ไดรฟ์) ฉันต้องการจัดเก็บข้อมูลในไดรฟ์ E: ไดรฟ์ภายนอกขนาดใหญ่ eSATA
ฉันควรทำตามขั้นตอนอะไรบ้าง
คำตอบ:
datadirพารามิเตอร์)my.iniไฟล์ (อยู่ในไดเรกทอรีการติดตั้ง mysql) เปลี่ยนdatadirค่าพารามิเตอร์ให้ชี้ไปที่ตำแหน่งใหม่/และไม่ได้ \ datadirเป็นตัวคั่นไดเรกทอรีในเส้นทางไดเรกทอรีสำหรับ ฉันใช้ WAMPserver บน Windows 10
แม้ว่าคุณจะขอ Windows แต่นี่เป็นคำแนะนำที่ดีสำหรับผู้ที่จบลงด้วยการมองหาเส้นทาง linux / ubuntu:
สมมติฐาน:
/mountpoint/var/lib/mysqlอาจมาจากคอมพิวเตอร์ที่เสียชีวิตหรือติดตั้งเก่า/var/lib/mysql
- หยุด MySQL ด้วย:
sudo /etc/init.d/mysql stop.- สำรองข้อมูลปัจจุบัน (สะอาด) MySQL
sudo cp -Rp /var/lib/mysql /var/lib/mysql.backupไดเรกทอรีข้อมูลด้วย:- จากนั้นคัดลอกไดเรกทอรีข้อมูลเก่าจากไดรฟ์เก่าด้วย:
sudo cp -Rp /mountpoint/var/lib/mysql /var/lib/mysql
ที่mountpointเป็นเส้นทางไปที่เมานท์- รีสตาร์ท MySQL ด้วย:
sudo /etc/init.d/mysql startโชคดีที่ MySQL ควรทำการรีสตาร์ทและคุณควรจะคืนค่าฐานข้อมูลเก่าของคุณ

ในฐานะของรุ่น 5.6 MySQLInstanceConfig.exe จะไม่กระจายอีกต่อไป ฟังก์ชันนี้จะถูกแทนที่ด้วยตัวติดตั้ง http://bugs.mysql.com/bug.php?id=66306
[ERROR] Cannot find or open table <db>/<table> from the internal data dictionary of InnoDB though the .frm file for the table exists.. ฉันจะมั่นใจได้อย่างไรว่าการตั้งค่าการอนุญาตถูกต้อง?
สำหรับ Windows ในฐานะของตัวติดตั้ง MySQL 1.4.6 (2015-04-07)ตำแหน่งข้อมูลอาจถูกระบุในรีจิสตรีคีย์ที่ระบุตำแหน่งของmy.iniไฟล์ดังนั้นหากข้อมูลถูกติดตั้งครั้งแรกในตำแหน่งที่ไม่ใช่ค่าเริ่มต้นไฟล์จะไม่อยู่ในmy.iniC:\ProgramData\MySQL\MySQL Server x.x\
ตำแหน่งของค่ารีจิสตรีคือ (อย่างน้อยเท่ากับ MySQL 5.6):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\
Locationเป็นไฟล์REG_SZที่ชี้ไปยังโฟลเดอร์ที่มีไฟล์แอปพลิเคชัน MySQL อยู่ โดยค่าเริ่มต้น:C:\Program Files\MySQL\MySQL Server x.x\
DataLocationเป็นREG_SZจุดที่ชี้ไปยังโฟลเดอร์ที่my.iniตั้งอยู่ โดยค่าเริ่มต้นยัง:C:\Program Files\MySQL\MySQL Server x.x\
นอกจากนี้my.iniเส้นทางของไฟล์จะรวมอยู่ในคำสั่งบริการภายใต้คีย์รีจิสทรีนี้:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXXในImagePath REG_EXPAND_SZค่า
ค่าเริ่มต้นของสายนี้คือ: "C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX
ดังนั้นบรรทัดล่างคือเพื่อที่จะย้ายไฟล์ข้อมูลในสถานการณ์นี้คุณต้องทำตามขั้นตอนที่โพสต์โดย @ ITCuties ด้วยการเพิ่มบางอย่าง
นี่คือขั้นตอนเต็มรูปแบบ:
DataLocationรีจิสทรีด้านบนเพื่อค้นหาตำแหน่งmy.iniไฟล์ปัจจุบันและหากคุณต้องการย้ายmy.iniไฟล์ให้อัปเดตDataLocationพา ธ และย้ายmy.iniไฟล์ไปยังพา ธ ใหม่นี้my.iniไฟล์คุณจะต้องอัปเดตพา ธ ในคีย์รีจิสทรีของคำสั่งบริการตามรายการด้านบนmy.iniไฟล์ค้นหาdatadirพารามิเตอร์ ย้ายไฟล์จากdatadirพา ธนี้ไปยังพา ธ ที่คุณต้องการให้ข้อมูลอยู่จากนั้นอัพเดตdatadirพารามิเตอร์ด้วยพา ธ ใหม่นี้