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

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

3
ประเภทคอลัมน์ UUID ที่มีประสิทธิภาพที่สุดคืออะไร
สำหรับการจัดเก็บ UUID 128 บิตมีตัวเลือกการจัดเก็บหลายตัว: คอลัมน์ไบต์ [16] สองคอลัมน์ใหญ่ / ยาว (64 บิต) คอลัมน์ CHAR (36) - เลขฐานสิบหก 32 หลัก + 4 ขีด คอลัมน์เฉพาะฐานข้อมูล UUID หาก db สนับสนุน จากมุมมองของการจัดทำดัชนีซึ่งมีประสิทธิภาพมากที่สุด? หาก db ไม่รองรับ uuid ชนิดเฉพาะที่ 1, 2, 3 เป็นตัวเลือกที่ดีที่สุด?

2
วิธีการกำหนดแบบสอบถาม MySQL ต่อวัน?
ฉันกำลังตรวจสอบสวิตช์ขนาดใหญ่จาก MySQL เป็น NoSQL DBaaS และฉันพบปัญหาในการพยายามคาดการณ์ค่าใช้จ่าย โดยพื้นฐานแล้วฉันไม่สามารถค้นหาจำนวนเซิร์ฟเวอร์ MySQL ปัจจุบันที่ฉันจัดการต่อวันเพื่อลองและประเมินจำนวนคำขอที่ฉันจะใช้กับCloudantซึ่งคิดค่าบริการ $ 0.015 ต่อ 100 PUTs , POSTsและDELETEsและ $ 0.015 ต่อ 500 GETs และหัว ฉันพบข้อมูลจำนวนมากเกี่ยวกับการใช้สถานะ SHOWและSHOW GLOBAL STATUSเพื่อรับสถิติที่ MySQL รวบรวมไว้ในตัวของมันเอง แต่ไม่มีการอ้างอิงกรอบเวลา ตัวอย่างเช่น SHOW GLOBAL STATUS ส่งคืนค่าต่อไปนี้: Queries | 13576675 เป็นสิ่งที่ดีมากยกเว้นฉันไม่รู้ว่ากรอบเวลาที่ตัดจำนวนนั้น 13 ล้านคำค้นหาเมื่อไหร่? ต่อเดือน? ปี? ตั้งแต่จุดเริ่มต้นของเวลา? เอกสาร MySQL ไม่ได้อธิบายรายละเอียดมากเกินไป: แบบสอบถาม จำนวนงบที่ดำเนินการโดยเซิร์ฟเวอร์ ตัวแปรนี้รวมคำสั่งที่เรียกใช้ภายในโปรแกรมที่เก็บไว้ซึ่งแตกต่างจากตัวแปรคำถาม มันไม่นับคำสั่ง …
15 mysql 

1
กู้คืนฐานข้อมูล MySQL จากโฟลเดอร์ข้อมูลโดยไม่มี ibdata1 จากไฟล์ ibd
ไดเรกทอรี WAMP ของฉันถูกลบโดยผู้ใช้รายอื่นโดยไม่ตั้งใจ มีโฟลเดอร์ข้อมูลเฉพาะใน MySQL เท่านั้น และในโฟลเดอร์ฐานข้อมูลเท่านั้น (โฟลเดอร์ใน "\ bin \ mysql \ mysql5.6.12 \ data \" ที่มีชื่อฐานข้อมูล) จะพร้อมใช้งาน ไฟล์ทั้งหมดรวมถึง " ibdata1 " ที่อยู่ในรูทของ "\ bin \ mysql \ mysql5.6.12 \ data \" จะถูกลบเช่นกัน โฟลเดอร์ฐานข้อมูลมีไฟล์ที่มีนามสกุลด้านล่างเท่านั้น * .frm, * .ibd และไฟล์ "db.opt" วิธีการกู้คืนฐานข้อมูล ฉันได้ลองกู้ bdata1 แล้ว แต่ไม่สามารถรับกลับคืนมาได้ และบางฐานข้อมูลก็มี MYISAM ด้วย

1
อะไรคือไฟล์ iblog ใน mysql
ฉันต้องการที่จะเข้าใจไฟล์ ibdata เหล่านี้เพราะสิ่งเหล่านี้มีบทบาทสำคัญในกระบวนการกู้คืนความผิดพลาด ฉันไม่สามารถหาแหล่งข้อมูลที่เหมาะสมผ่านเว็บสำหรับเรื่องนี้
15 mysql  innodb  logs 

4
การถ่ายโอนข้อมูล MySQL จากเครื่องอื่น
ฉันมีฐานข้อมูล MySQL บนเครื่อง A และฉันต้องการเข้าถึง mysqldump จากเครื่อง B ทั้งสองเครื่องทำงานบน Linux และฉันก็มีสิทธิของทั้งคู่ แต่ฉันไม่สามารถเข้าถึง mysqldump ได้ ฉันจะลองทำอะไร
15 mysql  mysqldump  linux 

3
ไม่สามารถลบ“ การใช้งาน GRANT”
ฉันกำลังทดสอบบางสิ่งและเพิ่ม: grant usage on statistics.* to cptnotsoawesome@localhost identified by 'password'; ดังนั้นเมื่อฉันทำ show grants for cptnotsoawesome@localhost; ฉันเห็นว่าหนึ่งในนั้นคือ: Grants for cptnotsoawesome@localhost ---------------------------------- GRANT USAGE ON *.* TO 'cptnotsoawesome'@'localhost' IDENTIFIED BY PASSWORD 'somePEW-PEWstring' ตอนนี้ฉันต้องการลบออกเพราะฉันคิดว่ามันเป็นอันตรายด้านความปลอดภัยดังนั้นฉันจึง: REVOKE USAGE ON *.* FROM 'cptnotsoawesome'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; แต่ก็ยังแสดงให้เห็นว่าการใช้งาน USAGE ในรายการสิทธิ์ Grants for cptnotsoawesome@localhost ---------------------------------- GRANT …

2
จะเริ่มต้นไฟล์ / var / lib / mysql ใหม่ได้อย่างไร?
เนื่องจากอุบัติเหตุฉันลบไดเรกทอรี / var / lib / mysql ทั้งหมด เนื่องจากฐานข้อมูลไม่ได้มีสิ่งที่สำคัญฉันไม่ต้องการผ่านความยุ่งยากในการกู้คืนจากการสำรองข้อมูลเก่า แต่สร้างโครงสร้างไดเรกทอรีแทนตั้งแต่ต้น ฉันจะทำอย่างไรโดยไม่ต้องติดตั้ง MySQL ใหม่
15 mysql  linux  debian 

5
วิธีเพิ่มประสิทธิภาพ SELECT ช้ามากด้วย LEFT JOIN บนตารางขนาดใหญ่
ฉัน googling ให้การศึกษาด้วยตนเอง & กำลังมองหาวิธีแก้ปัญหาเป็นเวลาหลายชั่วโมง แต่ไม่มีโชค ฉันพบคำถามที่คล้ายกันสองสามข้อที่นี่ แต่ไม่ใช่กรณีนี้ ตารางของฉัน: คน (ประมาณ 10M แถว) แอตทริบิวต์ (สถานที่, อายุ, ... ) ลิงก์ (M: M) ระหว่างบุคคลและแอตทริบิวต์ (ประมาณ 40M แถว) ดัมพ์เต็ม ~ 280MB สถานการณ์: ฉันพยายามเลือกรหัสบุคคลทั้งหมด ( person_id) จากบางสถานที่ ( location.attribute_value BETWEEN 3000 AND 7000) เป็นเพศ ( gender.attribute_value = 1) เกิดในบางปี ( bornyear.attribute_value BETWEEN 1980 AND …

4
วิธีการยกเว้นค่า NULL ภายใน CONCAT MySQL
หากฉันมีสิ่งนี้ - tadd คือAddressตาราง: CONCAT(tadd.street_number, ' ', tadd.street_name,', ', tadd.apt_number,', ', tadd.city,', ', tadd.postal_code,', ', tadd.country) AS 'Address' มีวิธียกเว้น apt_number หรือไม่หากไม่มีอยู่? ฉันคิดว่า: WHERE tadd.apt_number IS NOT NULL แต่มันจะคืนค่าเฉพาะแถวเหล่านั้นด้วยapt_numberและแม้ว่าบางสิ่งจะทำงานฉันจะจัดการกับเครื่องหมายจุลภาคพิเศษนั้นได้อย่างไร หากเป็นรายการซ้ำโปรดโพสต์ลิงก์ในความคิดเห็น
15 mysql  null  concat 

3
ทำไม MySQL ไม่สนใจดัชนีแม้จะมีผลบังคับใช้สำหรับการสั่งซื้อนี้ด้วย?
ฉันทำงานEXPLAIN: mysql> explain select last_name from employees order by last_name; +----+-------------+-----------+------+---------------+------+---------+------+-------+----------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-----------+------+---------------+------+---------+------+-------+----------------+ | 1 | SIMPLE | employees | ALL | NULL | NULL | NULL | NULL | …

2
เซิร์ฟเวอร์ตอบสนองด้วยแพ็คเก็ตที่ว่างเปล่าในระหว่างการเจรจาเซสชันส่งผลให้ลูกค้าให้ข้อผิดพลาดของแพ็คเก็ตที่ผิดรูปแบบ
ฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ mysql ระยะไกล สิ่งนี้เกิดขึ้น 100% ของเวลา ลูกค้า: mysql Ver 14.14 Distrib 5.7.12, สำหรับ เซิร์ฟเวอร์Win32 (AMD64) : 5.0.95 นี่เป็นข้อผิดพลาดที่ฉันได้รับ: C:\>mysql -h example.com -P 3306 -D prod_rcadb -u username -p Enter password: ********** ERROR 2027 (HY000): Malformed packet ข้อผิดพลาดเดียวกันกับ mysqladmin: C:\>mysqladmin -h example.com -P 3306 -u username -p version Enter password: ********** …
14 mysql 

1
วิธีการดัมพ์ฐานข้อมูลทั้งหมดจากรีโมตเซิร์ฟเวอร์บน sequel pro
ฉันมีการเชื่อมต่อฐานข้อมูลกับรีโมตโฮสต์บน SequelPro Mac OSX ฉันจะดัมพ์ฐานข้อมูลทั้งหมดได้อย่างไร ฉันต้องการดัมพ์เหมือนmysqldumpคำสั่งอะไร: $ mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql] ฉันพบตัวเลือกการถ่ายโอนข้อมูลตาราง แต่ฉันต้องการการถ่ายโอนข้อมูลฐานข้อมูลเต็มรูปแบบ
14 mysql  mysqldump 

2
ความแตกต่างระหว่างบันทึกธุรกรรมและบันทึกการทำซ้ำใน MySQL
ฉันได้อ่านเกี่ยวกับ MySQL ในความคิดของฉันฉันเห็นสองประเภทบันทึกที่คล้ายกันมาก MySQL บันทึกวิธีและเวลาที่ข้อมูลถูกเปลี่ยนแปลงในบันทึก ข้อมูลที่ใช้สำหรับการกู้คืน MySQL ฉันสับสนกับฟังก์ชั่นการบันทึกสองประเภท

2
การลบและเรียกคืนพื้นที่จากตาราง InnoDB
ฉันมีตาราง InnoDB 700GB ซึ่งฉันไม่ได้เขียนข้อมูลใด ๆ เพิ่มเติมไปยัง (อ่านเท่านั้น) ฉันต้องการลบข้อมูลเก่าที่เก็บไว้และเรียกคืนพื้นที่ดิสก์นั้น (ขณะที่ฉันหมดข้อมูล) ส่วนลบนั้นค่อนข้างง่ายเพราะฉันมีดัชนีหลักอัตโนมัติเพื่อให้ฉันสามารถวนซ้ำโดยใช้มันและลบแถว แต่นั่นจะไม่ทำให้ฉันกลับมามีพื้นที่อีก ฉันคิดว่าOPTIMIZE TABLEจะใช้ แต่อาจใช้เวลาตลอดไปบนโต๊ะ 700GB ดังนั้นมีตัวเลือกอื่นที่ฉันสามารถมองเห็นได้หรือไม่ แก้ไขโดย RolandoMySQLDBA สมมติว่าตารางของคุณคือmydb.mytableกรุณาเรียกใช้แบบสอบถามต่อไปนี้และโพสต์ที่นี่เพื่อให้คุณสามารถกำหนดพื้นที่ที่จำเป็นสำหรับการหดตัวของตาราง: SELECT FORMAT(dat/POWER(1024,3),2) datsize, FORMAT(ndx/POWER(1024,3),2) ndxsize, FORMAT((dat+ndx)/POWER(1024,3),2) tblsize FROM (SELECT data_length dat,index_length ndx FROM information_schema.tables WHERE table_schema='mydb' AND table_name='mytable') A; เราต้องดูโครงสร้างของตารางด้วยหากได้รับอนุญาต แก้ไขโดย Noam นี่คือผลลัพธ์ของแบบสอบถาม: datsize ndxsize tblsize 682.51 47.57 730.08 นี่คือโครงสร้างของตาราง ( …
14 mysql  innodb 

4
ฉันจะกำหนดจำนวน IOP ที่ฉันต้องการสำหรับฐานข้อมูล AWS RDS ของฉันได้อย่างไร
ฉันกำลังย้ายส่วนหนึ่งของฐานข้อมูล mysql ไปยัง AWS ข้อมูลที่เป็นปัญหาคือการเขียน 99% และแต่ละแถวมีเขตข้อมูล varchar ประมาณ 1k, datetime และ 4 ints ฉันคาดว่าเราจะต้องแทรกระหว่าง 20-25k บันทึก / ชั่วโมงในช่วงเวลาเร่งด่วน ฉันใช้ iostat -h ในฐานข้อมูลปัจจุบันและรายงานประมาณ 40 tps ฉันจะหาประเภทของ IOPS ที่ฉันต้องการได้อย่างไร
14 mysql  amazon-rds 

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