ฉันใช้ 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.ini
C:\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
พารามิเตอร์ด้วยพา ธ ใหม่นี้