คำถามติดแท็ก mysql

MySQL ทุกรุ่น (ไม่ใช่ Microsoft SQL Server) โปรดเพิ่มแท็กเฉพาะเวอร์ชันเช่น mysql-5.7 หากเกี่ยวข้องกับคำถาม


15
MySQL สามารถทำการสืบค้นบนพันล้านแถวได้หรือไม่?
ฉันกำลังวางแผนในการจัดเก็บสแกนจากแมสสเปคโตรมิเตอร์ในฐานข้อมูล MySQL และต้องการทราบว่าการจัดเก็บและวิเคราะห์ข้อมูลจำนวนนี้เป็นไปได้จากระยะไกลหรือไม่ ฉันรู้ว่าประสิทธิภาพอาจแตกต่างกันไปขึ้นอยู่กับสภาพแวดล้อม แต่ฉันกำลังมองหาลำดับความสำคัญอย่างคร่าวๆ: ข้อความค้นหาจะใช้เวลา 5 วันหรือ 5 มิลลิวินาทีหรือไม่ รูปแบบอินพุต ไฟล์อินพุตแต่ละไฟล์มีสเปคโตรมิเตอร์วิ่งเดียว การทดสอบแต่ละครั้งประกอบด้วยชุดของการสแกนและการสแกนแต่ละครั้งจะมีชุดข้อมูลที่สั่งซื้อ มีข้อมูลเมตาเล็กน้อย แต่ส่วนใหญ่ของไฟล์ประกอบด้วยอาร์เรย์ int หรือ 32- หรือ 64- บิต ระบบโฮสต์ | ---------------- + ------------------------------- | | ระบบปฏิบัติการ | Windows 2008 64-bit | | รุ่น MySQL 5.5.24 (x86_64) | | ซีพียู | 2x Xeon E5420 (ทั้งหมด 8 คอร์) | …


11
ฉันจะติดตามความคืบหน้าของการนำเข้าไฟล์. sql ขนาดใหญ่ได้อย่างไร
ฉันกำลังนำเข้า 7 GB foobar.sqlเพื่อกู้คืนตารางในฐานข้อมูลท้องถิ่น $ mysql -h localhost -u root 'my_data' < foobar.sql $ mysql --version /usr/local/mysql/bin/mysql Ver 14.12 Distrib 5.0.96, for apple-darwin9.8.0 (i386) using readline 5.1 ฉันจะติดตามความคืบหน้าได้อย่างไร
204 mysql  mysqldump  import 

7
ฉันจะเพิ่มประสิทธิภาพ mysqldump ของฐานข้อมูลขนาดใหญ่ได้อย่างไร
ฉันมีแอพพลิเคชั่น symfony ที่มีฐานข้อมูล InnoDB ที่ ~ 2GB พร้อม 57 ตาราง ขนาดส่วนใหญ่ของฐานข้อมูลอยู่ในตารางเดียว (~ 1.2GB) ฉันกำลังใช้ mysqldump เพื่อสำรองฐานข้อมูลทุกคืน เนื่องจากการเชื่อมต่อ comcast ของฉันบ่อยครั้งถ้าฉันเรียกใช้การถ่ายโอนข้อมูลด้วยตนเองการเชื่อมต่อกับเซิร์ฟเวอร์ของฉันจะหมดเวลาก่อนที่การถ่ายโอนข้อมูลเสร็จสมบูรณ์ทำให้ฉันต้องเรียกใช้การถ่ายโอนข้อมูลอีกครั้ง [ฉันกำลังเรียกใช้ cron ที่ถ่ายโอนข้อมูลทุกคืนนี่เป็นเพียงการทิ้งที่ฉันทำงานด้วยตนเอง] มีวิธีเพิ่มความเร็วในการทิ้งสำหรับปัญหาการหมดเวลาการเชื่อมต่อ แต่ยัง จำกัด เวลาที่เซิร์ฟเวอร์ครอบครองกระบวนการนี้หรือไม่ BTW ฉันกำลังทำงานในการลดขนาดของฐานข้อมูลโดยรวมเพื่อแก้ไขปัญหานี้

4
ควรมี mysql innodb_buffer_pool_size ขนาดเท่าใด
ฉันมีฐานข้อมูลไม่ว่างที่มีตาราง InnoDB แต่เพียงผู้เดียวซึ่งมีขนาดประมาณ 5GB ฐานข้อมูลทำงานบนเซิร์ฟเวอร์ Debian โดยใช้ดิสก์ SSD และฉันได้ตั้งค่าการเชื่อมต่อสูงสุด = 800 ซึ่งบางครั้งทำให้อิ่มตัวและบดขยี้เซิร์ฟเวอร์ให้หยุดทำงาน ข้อความค้นหาเฉลี่ยต่อวินาทีประมาณ 2.5K ดังนั้นฉันจำเป็นต้องปรับการใช้หน่วยความจำให้เหมาะสมเพื่อให้มีพื้นที่สำหรับการเชื่อมต่อที่เป็นไปได้สูงสุด ฉันเห็นคำแนะนำแล้วว่า innodb_buffer_pool_size ควรมีขนาดสูงสุด 80% ของหน่วยความจำทั้งหมด ในอีกทางหนึ่งฉันได้รับคำเตือนจากสคริปต์ปรับแต่งไพรเมอร์: Max Memory Ever Allocated : 91.97 G Configured Max Per-thread Buffers : 72.02 G Configured Max Global Buffers : 19.86 G Configured Max Memory Limit : 91.88 G Physical …
170 mysql  innodb 

2
สร้างฐานข้อมูล MySQL ด้วย charset UTF-8
ฉันใหม่กับ MySQL และฉันต้องการที่จะรู้ว่า: ฉันจะสร้างฐานข้อมูลด้วยชุดอักขระutf-8เช่นเดียวกับที่ฉันทำใน navicat ได้อย่างไร create mydatabase; ... ดูเหมือนว่าจะใช้ชุดอักขระเริ่มต้นบางประเภท
142 mysql  collation  utf-8 

13
ฉันจะย้ายฐานข้อมูลจากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่นได้อย่างไร
ฉันจะย้ายตาราง MySQL จากเซิร์ฟเวอร์จริงหนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งได้อย่างไร เช่นสถานการณ์ที่แน่นอน: ฉันมีเซิร์ฟเวอร์ MySQL ที่ใช้ตาราง innodb และมีขนาดประมาณ 20GB ฉันต้องการย้ายไปยังเซิร์ฟเวอร์ใหม่วิธีที่มีประสิทธิภาพที่สุดในการทำเช่นนี้คืออะไร

5
เป็นไปได้ไหมที่ทำให้ MySQL ใช้มากกว่าหนึ่งคอร์?
ฉันได้รับการนำเสนอด้วยเซิร์ฟเวอร์ MySQL เฉพาะที่ไม่เคยใช้มากกว่าหนึ่งคอร์ ฉันเป็นนักพัฒนามากกว่า DBA สำหรับ MySQL ดังนั้นต้องการความช่วยเหลือ ติดตั้ง เซิร์ฟเวอร์ค่อนข้างหนักด้วยการโหลดประเภท OLAP / DataWarehouse (DW): หลัก: 96GB RAM, 8 คอร์ + RAID 10 อาเรย์เดียว ทดสอบ: RAM 32GB พร้อม 4 คอร์ ฐานข้อมูลที่ใหญ่ที่สุดคือ 540 GB, รวมอยู่ที่ประมาณ 1.1TB และส่วนใหญ่เป็นตาราง InnoDB Solaris 10 Intel-64 MySQL 5.5.x หมายเหตุ: ฐานข้อมูลที่ใหญ่ที่สุดคือหนึ่งที่จำลองแบบจากเซิร์ฟเวอร์ OLTP DR และ DW จะถูกโหลดจากสิ่งนี้ มันไม่ใช่ DW …

3
ข้อดีและข้อเสียในการใช้ประเภท Enum กับจำนวนเต็ม?
ช่วยให้พูดในตารางสุ่มบางท่านมีชื่อคอลัมน์สถานะ มันเป็นค่าที่แท้จริงของโลกจะได้รับการอย่างใดอย่างหนึ่งที่เปิดใช้งานหรือปิดการใช้งาน มันจะดีกว่าสำหรับชนิดข้อมูลของคอลัมน์นี้จะเป็น int / บูล (1 หรือศูนย์) หรือจะใช้ENUMกับค่าที่เป็นenabledและdisabled? ข้อดีหรือข้อเสียคืออะไร? สมมุติว่าแทนที่จะเป็นเพียงสองสถานะที่ถูกต้องคุณมี 4 หรือ 10 หรือมากกว่านั้น ข้อดีและข้อเสียจะแกว่งไปด้านใดด้านหนึ่งหรือไม่เมื่อจำนวนค่าที่ต้องการเพิ่มขึ้น?

5
จะเปลี่ยน MySQL innodb variable ได้อย่างไร 'innodb_log_file_size'
ดังนั้นฉันค่อนข้างใหม่ในการปรับแต่ง InnoDB ฉันค่อยๆเปลี่ยนตาราง (จำเป็น) จาก MyIsam เป็น InnoDB ฉันมี innodb ประมาณ 100MB ดังนั้นฉันจึงเพิ่มinnodb_buffer_pool_sizeตัวแปรเป็น 128MB: mysql> show variables like 'innodb_buffer%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | innodb_buffer_pool_size | 134217728 | +-------------------------+-----------+ 1 row in set (0.00 sec) เมื่อฉันไปเปลี่ยนinnodb_log_file_sizeค่า (ตัวอย่าง my.cnf บนหน้าการกำหนดค่า innodb ของ mysql แสดงความคิดเห็นเพื่อเปลี่ยนขนาดไฟล์บันทึกเป็น 25% ของขนาดบัฟเฟอร์ดังนั้นตอนนี้ my.cnf ของฉันมีลักษณะเช่นนี้: …
105 mysql  innodb  myisam  logs 

3
ALTER TABLE - เปลี่ยนชื่อคอลัมน์
นี่คือการขับรถฉันถั่ว! ฉันต้องการเปลี่ยนชื่อคอลัมน์จาก read-more เป็น read_more ในตารางบล็อกของฉัน ฉันลองทั้งหมดนี้: ALTER TABLE blog RENAME COLUMN read-more to read_more; ALTER TABLE blog CHANGE COLUMN 'read-more' 'read_more' VARCHAR(255) NOT NULL; และฉันได้รับสิ่งนี้เสมอ! ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right …
102 mysql  mysql-5.5  mysql-5 

5
คำอธิบายที่ดีเกี่ยวกับพฤติกรรมแบบเรียงซ้อน (ON DELETE / UPDATE)
ฉันไม่ได้ออกแบบสกีมาทุกวัน แต่เมื่อฉันทำฉันพยายามตั้งค่าการปรับปรุง / ลบทั้งหมดอย่างถูกต้องเพื่อให้การจัดการง่ายขึ้น ฉันเข้าใจว่าน้ำตกมีประโยชน์อย่างไร แต่ฉันจำไม่ได้ว่าตารางใดอยู่ ตัวอย่างเช่นถ้าฉันมีสองตาราง - ParentและChild- มีคีย์ต่างประเทศในChildการอ้างอิงนั้นParentและมีON DELETE CASCADEบันทึกใดที่ทำให้เกิดน้ำตกและบันทึกใดถูกลบโดยน้ำตก? การเดาครั้งแรกของฉันจะเป็นChildระเบียนที่ถูกลบเมื่อParentบันทึกถูกลบเนื่องจากChildระเบียนขึ้นอยู่กับParentระเบียน แต่สิ่งที่ON DELETEคลุมเครือนั้น มันอาจหมายถึงลบParentบันทึกเมื่อChildบันทึกถูกลบหรืออาจหมายถึงลบChildบันทึกเมื่อParentถูกลบ แล้วมันคืออะไร? ฉันหวังว่าไวยากรณ์เป็นON PARENT DELETE, CASCADE, ON FOREIGN DELETE, CASCADEหรือสิ่งที่คล้ายกันในการลบความคลุมเครือ ใครบ้างมีความจำในการจดจำสิ่งนี้?

5
การจัดเก็บ vs การคำนวณค่ารวม
มีแนวทางหรือกฎง่ายๆในการพิจารณาว่าจะเก็บค่ารวมและเมื่อใดในการคำนวณพวกเขาได้ทันทีหรือไม่ ตัวอย่างเช่นสมมติว่าฉันมีวิดเจ็ตที่ผู้ใช้สามารถให้คะแนน (ดูสคีมาด้านล่าง) ทุกครั้งที่ฉันแสดงวิดเจ็ตฉันสามารถคำนวณคะแนนผู้ใช้เฉลี่ยจากRatingsตาราง อีกทางเลือกหนึ่งฉันสามารถเก็บคะแนนเฉลี่ยบนWidgetโต๊ะ สิ่งนี้จะช่วยให้ฉันไม่ต้องคำนวณการจัดอันดับทุกครั้งที่ฉันแสดงวิดเจ็ต แต่จากนั้นฉันจะต้องคำนวณคะแนนเฉลี่ยใหม่ทุกครั้งที่ผู้ใช้ให้คะแนนวิดเจ็ต Ratings Widgets --------- ------- widget_id widget_id user_id name rating avg_rating <--- The column in question

3
การลบไฟล์ mysql-bin ปลอดภัยหรือไม่
ฉันมีการจำลองแบบ MM ใน mysql และฉันต้องการที่จะบีบพื้นที่ว่างในกล่องเพื่อลบไฟล์ที่ไม่จำเป็นฉันเจอmysql-binไฟล์เหล่านี้ข้างใน/var/db/mysql/มีหลายร้อยไฟล์เช่นmysql-bin.000123นั้นmysql-bin.000223ฯลฯ ฉันได้ตรวจสอบการจำลองแบบ mysql ด้วยการทำshow master statusและshow slave statusพวกเขา การใช้ไฟล์ MySQL-bin บางที่บางตำแหน่ง แต่ผมคิดว่าทุกไฟล์ bin อื่น ๆ ที่เหลือซึ่งจะไม่ถูกนำมาใช้อีกต่อไป ในกรณีนี้ปลอดภัยที่จะลบไฟล์ mysql-bin ทั้งหมดยกเว้นไฟล์ที่การเรพลิเคทกำลังชี้ไปที่? หากปลอดภัยที่จะลบจะมีสิ่งใดบ้างที่ฉันสามารถทำได้เพื่อลบไฟล์เหล่านั้นโดยอัตโนมัติเมื่อไม่ได้ใช้งาน

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