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

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

8
เครื่องมือในการสร้างชุดข้อมูลขนาดใหญ่ของข้อมูลการทดสอบ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Exchange Administrators Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ หลายครั้งเมื่อพยายามออกแบบฐานข้อมูลที่มีประสิทธิภาพแนวทางการปฏิบัติที่ดีที่สุดคือการสร้างฐานข้อมูลตัวอย่างสองแห่งเติมข้อมูลและเรียกใช้แบบสอบถามกับฐานข้อมูลเพื่อดูว่าฐานข้อมูลใดมีประสิทธิภาพดีกว่า มีเครื่องมือที่จะสร้าง (ตรงไปยังฐานข้อมูล) ชุดข้อมูลทดสอบขนาดใหญ่ (~ 10,000 รายการ) อย่างรวดเร็วหรือไม่? ฉันกำลังมองหาบางอย่างที่ใช้งานได้กับ MySQL อย่างน้อย

2
เวิร์กโฟลว์ DDL ของทรานแซคชันสำหรับ MySQL
ฉันเป็นเพียงเล็กน้อยประหลาดใจที่จะพบว่างบ DDL ( alter table, create indexฯลฯ ) โดยปริยายกระทำการทำธุรกรรมในปัจจุบันใน MySQL มาจาก MS SQL Server ความสามารถในการปรับเปลี่ยนฐานข้อมูลในการทำธุรกรรมภายใน (ที่ถูกย้อนกลับ) เป็นส่วนสำคัญของเวิร์กโฟลว์ของฉัน สำหรับการรวมอย่างต่อเนื่องการย้อนกลับถูกใช้ถ้าการโยกย้าย hiccuped ด้วยเหตุผลใด ๆ ดังนั้นอย่างน้อยเราก็ไม่ได้ออกจากฐานข้อมูลในสถานะครึ่งย้าย ผู้คนแก้ไขปัญหาทั้งสองนี้อย่างไรเมื่อใช้ MySQL กับการย้ายข้อมูลและการรวมอย่างต่อเนื่อง

4
ล็อกการถ่ายทอด MySQL เสียหายฉันจะแก้ไขได้อย่างไร พยายาม แต่ล้มเหลว
รีเลย์ MySQL v5.1.61 เสียหายเมื่อเครื่องปิดตัวลงกะทันหัน ฉันพยายามแก้ไข แต่มันใช้งานไม่ได้ - ฉันจะแก้ไขได้อย่างไร ฉันทำอะไรผิดหรือเปล่า? เท่าที่ฉันได้อ่านล็อกรีเลย์ MySQL เสียหายได้อย่างง่ายดายแก้ไข: change master to master_log_file='<Relay_Master_Log_File>', master_log_pos=<Exec_Master_Log_Pos>; ที่ไหนRelay_Master_Log_FileและExec_Master_Log_Posมีการระบุไว้โดย: mysql> show slave status; อย่างไรก็ตามเมื่อฉันทำchange master status ...ฉันได้รับข้อผิดพลาดการละเมิดคีย์หลัก เป็นไปได้อย่างไร? ขั้นตอนข้างต้นไม่ถูกต้องหรือมี +1 บางส่วนหายไปหรือไม่ (สำหรับตอนนี้ฉันเพิ่งนำเข้า mysqldump -master-data อีกครั้งจากต้นแบบไปยังทาสและสิ่งนี้แก้ปัญหาได้อย่างไรก็ตามในอนาคตการทำเช่นนั้นอาจไม่เหมาะสม) ต่อไปนี้เป็นรายละเอียดเกี่ยวกับปัญหาเฉพาะของฉัน: mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send …

7
กำลังจัดเก็บที่อยู่ IP
ฉันต้องเก็บที่อยู่ IP ของผู้ใช้ที่ลงทะเบียนทั้งหมดในฐานข้อมูล ฉันสงสัยว่าฉันควรประกาศตัวละครในคอลัมน์นี้กี่ตัว? ฉันควรสนับสนุน IPv6 ด้วยหรือไม่ ถ้าเป็นเช่นนั้นความยาวสูงสุดของที่อยู่ IP คืออะไร?

5
ประโยชน์ของการใช้ backtick (`) ในแบบสอบถาม MySQL?
ใน MySQL เราสามารถสร้างคิวรีที่มีหรือไม่มี`สัญลักษณ์backtick ( ) ตัวอย่าง: SELECT * FROM TEST; SELECT * FROM `TEST`; ทั้งสองทำงานได้ดีใน mysql-console มีความแตกต่างทางเทคนิคหรือไม่? มีประโยชน์ในการใช้ ( `) มากกว่าการค้นหาอย่างง่ายหรือไม่
25 mysql  select 

2
ฉันจะลดขนาดไฟล์ innodb ibdata1 โดยไม่ต้องทิ้งฐานข้อมูลทั้งหมดได้อย่างไร
InnoDB เก็บตารางทั้งหมดไว้ในไฟล์ibdata1เดียว หลังจากวางตารางขนาดใหญ่ไฟล์จะรักษาขนาดของมันไม่ว่าโต๊ะจะใหญ่แค่ไหน ฉันจะลดขนาดไฟล์นั้นโดยไม่ต้องถ่ายโอนข้อมูลและนำเข้าฐานข้อมูลทั้งหมดอีกครั้ง (ซึ่งมีทั้งหมดหลายร้อย GB) ฉันคิดว่าเหตุผลก็เพราะคุณยังสามารถย้อนกลับไปลดลง ในกรณีของฉันฉันไม่จำเป็นต้อง

6
แก้ไขตารางในฐานข้อมูลที่ใช้งานจริง
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา ระบบฐานข้อมูล "ยอดนิยม" (MySQL, Postgres ... ) ส่วนใหญ่จะจัดการกับการเปลี่ยนแปลงตารางบนฐานข้อมูลการผลิตจริง (เช่นการเพิ่มการลบหรือการเปลี่ยนประเภทของโคลลัส) ได้อย่างไร ฉันรู้ว่าวิธีที่ถูกต้องคือการสำรองข้อมูลทุกอย่างกำหนดเวลาหยุดทำงานและทำการเปลี่ยนแปลง แต่ ... ระบบฐานข้อมูลปัจจุบันสนับสนุนการทำสิ่งเหล่านี้ "ออนไลน์" โดยไม่หยุดอะไรหรือไม่? (อาจเป็นเพียงการชะลอการสืบค้นที่อ้างอิงคอลัมน์ที่เพิ่งมีการเปลี่ยนแปลง / ลบ) และจะเกิดอะไรขึ้นเมื่อฉันเพิ่งALTER TABLE...สร้างฐานข้อมูลที่ทำงานอยู่ ทุกอย่างหยุดลงเมื่อสิ่งนี้เกิดขึ้นหรือไม่? ข้อมูลเสียหายหรือไม่ เป็นต้น อีกครั้งฉันส่วนใหญ่หมายถึง Postgres หรือ MySQL เป็นสิ่งที่ฉันพบ (และใช่ทุกครั้งที่ฉันต้องทำสิ่งนี้ก่อนที่ฉันจะทำ "วิธีการที่ถูกต้อง" สำรองสิ่งต่างๆจัดตารางเวลาดาวน์ไทน์ ฯลฯ ... แต่ฉันแค่อยากรู้ว่ามันเป็นไปได้ไหมที่จะทำสิ่งนี้ " สกปรก "หรือหากมีระบบฐานข้อมูลใด ๆ ที่รองรับการเปลี่ยนแปลงสคีมา" …

5
วิธีสร้างดัชนีตามเงื่อนไขใน MySQL
จะสร้างดัชนีเพื่อกรองช่วงหรือเซตย่อยของตารางใน MySQL ได้อย่างไร? AFAIK เป็นไปไม่ได้ที่จะสร้างโดยตรง แต่ฉันคิดว่ามันเป็นไปได้ที่จะจำลองคุณลักษณะนี้ ตัวอย่าง: ฉันต้องการสร้างดัชนีสำหรับNAMEคอลัมน์สำหรับแถวด้วยSTATUS = 'ACTIVE' ฟังก์ชันนี้จะเรียกว่าดัชนีที่กรองแล้วใน SQL Server และดัชนีบางส่วนใน Postgres

5
คอนโซล MySQL: Ctrl + C ทำให้ฉันบ้า
มีบางอย่างในคอนโซล MySQL ที่ทำให้ฉันบ้าคลั่ง เมื่อฉันกดctrl+ cเพื่อยกเลิกคำสั่งปัจจุบันที่กำลังพิมพ์เทอร์มินัลจะออก ในทุกฉันรู้ว่าขั้ว ( *nixขั้วPython, PostgreSQL) ctrl+ cยกเลิกคำสั่งปัจจุบันและctrl+ dออกจากสถานี ปัญหานี้ได้รับการรายงานในปี 2003และชนหลายครั้งตั้งแต่ มีวิธีการ: เปลี่ยนพฤติกรรมนี้หรือ โน้มน้าวใจทีม MySQL dev ว่ามันน่ารำคาญจริงๆเหรอ?

4
คุณจะระบุความเสียหายของตาราง InnoDB ได้อย่างไร
ฉันมีตารางบางส่วนที่แบ่งพาร์ติชันและมีดัชนีหลายรายการในสลาฟที่ถูกจำลอง หลังจากคัดลอกสแน็ปช็อต (ยืนยันความปลอดภัย) ไปยังทาสใหม่และอัปเกรด mysqld จาก 5.1.42 เป็น 5.5.15 และเริ่มการจำลองแบบใหม่ฉันได้รับ InnoDB ขัดข้องพร้อมข้อความแสดงข้อผิดพลาด "ตัวชี้ไม่ถูกต้อง ... " ข้อผิดพลาดเหล่านี้เกิดขึ้นในเซิร์ฟเวอร์ 2 เครื่องที่มีฮาร์ดแวร์และ O / S ที่แตกต่างกัน หลังจากทำงาน: ALTER TABLE .... COALESCE PARTION n; ปัญหาหายไปสำหรับตารางนั้น คำถามของฉันมีขนาดใหญ่กว่าในขอบเขตและนั่นคือ "คุณจะระบุความเสียหายของตาราง InnoDB ได้อย่างไร" หรือ rephrased "คุณประเมินสุขภาพของตาราง InnoDB อย่างไร" คือ"ตรวจสอบตาราง"เครื่องมือเดียวที่มีอยู่เพื่อแจ้งปัญหา pre-crash? ไม่แน่ใจว่ามีปัญหาหรือไม่ แต่เกิดปัญหาการทำงาน: รุ่น: ซ็อกเก็ต '5.5.15-55-log': พอร์ต '/opt/mysql.sock': 3306 เซิร์ฟเวอร์ …


1
ไม่สามารถนำเข้าฐานข้อมูล SQL ที่เข้ารหัส UTF-8 ในเครื่องบน Mac
ฉันกำลังนำเข้าฐานข้อมูล SQL ที่เข้ารหัส UTF-8 ที่ได้รับการยืนยันไปยัง Sequel Pro บน Mac และได้โยนข้อผิดพลาดนี้ไปครึ่งทางแล้ว: เกิดข้อผิดพลาดขณะอ่านไฟล์เนื่องจากไม่สามารถอ่านได้ในการเข้ารหัสที่คุณเลือก (ตรวจหาอัตโนมัติ - Unicode (UTF-8) มีการประมวลผลแบบสอบถาม 1273 รายการเท่านั้น เป็นเพราะไฟล์ฐานข้อมูลนั้นมาจากเครื่อง windows และมีการแพร่กระจายของสิ่งต่าง ๆ หรือไม่ ฉันคิดว่าฉันจะได้รับข้อผิดพลาดนี้แม้ว่าฉันจะพยายามส่งฐานข้อมูลเดียวกันผ่านการถ่ายโอนไฟล์ไปยังเซิร์ฟเวอร์ดังนั้นฉันจะแก้ไขการเข้ารหัสได้อย่างไร -- MySQL dump 10.13 Distrib 5.5.40-36.1, for Linux (x86_64) -- -- Host: localhost Database: ***** -- ------------------------------------------------------ -- Server version 5.5.40-36.1-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 …

4
ฉันจะตรวจสอบว่าฉันใช้ SSL เพื่อเชื่อมต่อกับ mysql ได้อย่างไร
ฉันได้กำหนดค่าเซิร์ฟเวอร์ของฉันให้อนุญาต SSL และมีการปรับเปลี่ยนไคลเอนต์ของฉัน ~ / .my.cnf ดังนั้นฉันจึงใช้ SSL: [client] ssl ssl-cipher=DHE-RSA-AES256-SHA ssl-ca=~/certs/ca-cert.pem เมื่อฉันเข้าสู่ระบบกับลูกค้าของฉันและดูสถานะมันจะแสดงรายการตัวเลขในบรรทัด SSL: mysql> \s -------------- SSL: Cipher in use is DHE-RSA-AES256-SHA โดยไม่ต้องติดตั้งอะไรอย่าง wireshark เพื่อตรวจสอบว่าการเชื่อมต่อนั้นปลอดภัยฉันจะสมมติว่าฉันกำลังเชื่อมต่อผ่าน SSL โดยใช้ข้อมูลนี้ได้หรือไม่?
23 mysql  ssl 

1
ขนาดธุรกรรม MySQL มีขนาดใหญ่เกินไป?
ฉันมีกระบวนการนำเข้าที่ทำงานบ่อยมากและฉันต้องการให้เป็นข้อตกลง 'all or nothing' หรือ aka: ธุรกรรม มีหลายด้านและการนำเข้าอาจให้ผลที่ใดก็ได้ระหว่างระเบียน 100k-1mil + นี่เท่ากับเพย์โหลดตั้งแต่หลาย MB ไปจนถึงสองสามร้อย MB ของข้อมูล ฉันรู้ว่าตารางชั่วคราวเป็นอีกตัวเลือกหนึ่ง - แต่วิธีนี้ดูมีประโยชน์มาก มีคำเตือนใด ๆ ที่ควรระวังเกี่ยวกับการฝึกฝนประเภทนี้ด้วยการจัดการข้อมูลจำนวนมากระหว่างการกระทำหรือไม่? (ด้านนอกของโหลดการเขียน / การจัดทำดัชนีโดยทั่วไปจะเกิดขึ้นเมื่อมีการยืนยัน)

8
ตัวเลือกใด ๆ สำหรับ mysqldump เพื่อละเว้นฐานข้อมูลสำหรับการสำรองข้อมูลหรือไม่
เรามี 40 ฐานข้อมูลในเซิร์ฟเวอร์ของเรา เราต้องการสำรองฐานข้อมูล 36 ไฟล์โดยใช้ mysqldump ฉันจะเพิกเฉยฐานข้อมูล 4 ที่เหลือในคำสั่ง mysqldump ได้อย่างไร มีตัวเลือกสำหรับ mysqldump ที่จะไม่สนใจฐานข้อมูลสำรองใน MySQL หรือไม่? ฉันรู้ว่าคำสั่ง mysqldump ทั่วไป แต่มันมีความยาวมาก ฉันต้องการที่จะเพิกเฉยฐานข้อมูลเพียง 4 และต้องการสำรองข้อมูล dbs ที่เหลืออยู่

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