ผู้ดูแลฐานข้อมูล

ถามตอบสำหรับผู้เชี่ยวชาญด้านฐานข้อมูลที่ต้องการพัฒนาทักษะฐานข้อมูลและเรียนรู้จากผู้อื่นในชุมชน

4
เพิ่มการรวมอัตโนมัติลงใน PK ที่มีอยู่
ฉันสร้างตารางในฐานข้อมูลที่มีอยู่แล้วในฐานข้อมูลอื่น เริ่มแรกมีการเติมข้อมูลฐานข้อมูลเก่า PK ของตารางจะต้องได้รับค่าที่มีอยู่แล้วในบันทึกเหล่านั้นดังนั้นจึงไม่สามารถสร้างอัตโนมัติได้ ตอนนี้ฉันต้องการตารางใหม่เพื่อให้มี PK เป็น autoincrement แต่ฉันจะทำอย่างนั้นหลังจากที่มี PK อยู่แล้วและมีข้อมูลได้อย่างไร

2
ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร“ ข้อผิดพลาด 1298 (HY000): เขตเวลาที่ไม่รู้จักหรือไม่ถูกต้อง: 'UTC'”
เมื่อฉันเรียกใช้คำสั่งต่อไปนี้ฉันได้รับข้อผิดพลาด แต่หนึ่งในสคริปต์ของฉันต้องการมัน SET time_zone = 'UTC'; ERROR 1298 (HY000): Unknown or incorrect time zone: 'UTC'


1
MySQL GRANT PROXY - หมายความว่าอย่างไร
ฉันวิ่ง: show grants for root@localhost; และฉันเห็น GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION จาก mysql docs: https://dev.mysql.com/doc/refman/5.5/en/proxy-users.html สิ่งนี้ทำให้ผู้ใช้ภายนอกเป็นพร็อกซีสำหรับผู้ใช้คนที่สอง นั่นคือการมีสิทธิ์ของผู้ใช้ที่สอง กล่าวอีกนัยหนึ่งผู้ใช้ภายนอกคือ "ผู้ใช้พร็อกซี" (ผู้ใช้ที่สามารถเลียนแบบหรือเป็นที่รู้จักในฐานะผู้ใช้รายอื่น) และผู้ใช้รายที่สองคือ "ผู้ใช้พร็อกซี" (ผู้ใช้ที่สามารถรับข้อมูลประจำตัวของผู้ใช้พร็อกซี่) . แต่ฉันไม่เข้าใจความหมาย ฉันได้รับระบบจากคนงานคนอื่นที่ออกจากงานและต้องการตรวจสอบให้แน่ใจว่าทุกอย่างปลอดภัยและไม่ทราบว่าเงินช่วยเหลือนี้จำเป็นหรือไม่ แต่ถ้ามันไม่ได้ทำให้เกิดปัญหาด้านความปลอดภัยฉันสามารถทิ้งมันไว้ ใครบางคนสามารถอธิบายด้วยวิธีที่ง่ายขึ้น? ปรับปรุง: ฉันจะเชื่อมต่อในฐานะผู้ใช้รายอื่นได้อย่างไร ฉันลองใช้รหัสผ่านชื่อผู้ใช้หลายแบบร่วมกัน แต่ฉันไม่สามารถเชื่อมต่อได้ ตัวอย่างเช่นฉันใช้ผู้ใช้รูท แต่ใช้รหัสผ่านจากผู้ใช้รายอื่นซึ่งใช้งานไม่ได้ ลองใช้ชื่อผู้ใช้และรหัสผ่านรูทอีกครั้งก็ใช้งานไม่ได้เช่นกัน ปรับปรุง: หรือนี่อาจหมายความว่าผู้ใช้รูทสามารถเชื่อมต่อกับผู้ใช้อื่นได้? ทำอย่างนั้นอย่างน้อยถ้าเช่นนั้น?
14 mysql  proxy 

4
Ansible: วิธีการเปลี่ยนรหัสผ่านรูทเซิร์ฟเวอร์ MySQL โดยทำซ้ำเซิร์ฟเวอร์อีกครั้ง
ฉันได้จัดเตรียมเซิร์ฟเวอร์ของฉันด้วยเพลย์บุ๊ค Ansible ฉันใช้เพลย์เยอร์ root / ข้อเท็จจริง - Ansibleแล้ว หนึ่งในภารกิจคือการตั้งค่าเซิร์ฟเวอร์ mysql พร้อมกับรหัสผ่านผู้ใช้รูท mysql ตอนนี้ฉันต้องเปลี่ยนรหัสผ่านนี้อย่างเร่งด่วน ขั้นตอนที่ฉันทำ: ฉันอัปเดตตัวแปรสำหรับบทบาท Ansible ฉันดำเนินการคำสั่งansible-playbook -i hosts/staging server.ymlเพื่อทำซ้ำเซิร์ฟเวอร์ งานทั้งหมดถูกดำเนินการตามที่คาดไว้ (ไม่มีการเปลี่ยนแปลง) แต่สคริปต์ล้มเหลว [mariadb | Set root user password]ด้วยข้อความนี้: msg: unable to connect to database, check login_user and login_password are correct or ~/.my.cnf has the credentials ฉันเดาว่าเมื่อตั้งรหัสผ่านรูทของ MySQL แล้วการทำซ้ำเซิร์ฟเวอร์จะไม่สามารถเปลี่ยนรหัสผ่านนี้ได้ เป็นไปได้ไหมที่จะเปลี่ยนรหัสผ่านรูทของ …
14 mysql 

1
การตั้งค่า mysqldump ที่ดีที่สุดคืออะไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา หลังจากการค้นหาบางอย่างฉันลงเอยด้วยการตั้งค่าต่อไปนี้: mysqldump\ --host=localhost\ --port=3306\ --databases ****\ --user=****\ --password=****\ --default-character-set=utf8\ --add-drop-database\ --add-drop-table\ --add-locks\ --complete-insert\ --extended-insert\ --lock-all-tables\ --create-options\ --disable-keys\ --quick\ --order-by-primary\ --set-charset\ --tz-utc\ > dump/test.sql จนถึงตอนนี้ดีมาก แต่ฉันมีคำถามบางอย่างเกี่ยวกับพารามิเตอร์เช่นเดียวกับการดำเนินการ เกี่ยวกับข้อกังวลแรกของฉันฉันแค่ต้องการให้แน่ใจว่าพวกเขาทั้งหมดจะต้องและไม่ก่อให้เกิดความขัดแย้งใด ๆ เมื่อใช้ร่วมกัน ในที่สุดฉันต้องการสร้างไฟล์ดัมพ์ที่มีความแข็งแกร่งและสอดคล้องกันโดยมีเร็กคอร์ดนับล้านที่สร้างตารางฐานข้อมูลและแทรกข้อมูล สิ่งที่ดีคือการทำให้ฐานข้อมูลไม่พร้อมใช้งานชั่วขณะหนึ่งไม่ใช่ปัญหาสำหรับฉัน เป้าหมายเดียวของฉันคือการสร้างไฟล์การถ่ายโอนข้อมูลที่แข็งแกร่งและสอดคล้องกัน เกี่ยวกับคอนเสิร์ตครั้งที่สองของฉันฉันอยากรู้วิธีที่จะได้รับแจ้งเมื่อคำสั่งนั้นผิดพลาดและถ้าเกิดข้อยกเว้น ความคิดใด ๆ แก้ไข นี่คือคำสั่ง mysqldump ที่อัปเดตของฉันโดยอิงตามความคิดเห็นของ RolandoMySQLDBA mysqldump\ --host=localhost\ --port=3306\ --databases …

6
จะส่งออกคอลัมน์ภาพเป็นไฟล์ใน SQL Server ได้อย่างไร
ฉันจะย้ายจากฐานข้อมูล มีหนึ่งประเภทคอลัมน์imageที่ฉันต้องการส่งออกไปยังไฟล์ไบนารีบนระบบไฟล์ หนึ่งไฟล์สำหรับแต่ละระเบียน ฉันจะทำสิ่งนี้กับ SQL Server ได้อย่างไร

2
Mongo DB Replica ตั้ง Stuck ที่ RECOVERING state
เราได้สร้างชุดจำลองและตอนนี้ปัญหาคือ 2 สมาชิกของชุดจำลอง [3 ชุดสมาชิก] อยู่ในโหมดการกู้คืนจาก 48 ชั่วโมง เริ่มแรกขนาดของโหนดการกู้คืนเพิ่มขึ้นและตอนนี้แม้กระทั่งว่าจะหยุด ดังนั้นในการกู้คืนโหนดจะติดอยู่หลังจากข้อมูล 90 GB พร้อมข้อมูลโลคัล 60+ GB วิธีออกจากโหมดนี้

2
PostgreSQL: เครื่องมือ schema diff / patch [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ดูแลฐานข้อมูล Exchange Exchange ปิดให้บริการใน5 ปีที่ผ่านมา พิจารณาการตั้งค่าต่อไปนี้: ฐานข้อมูลการผลิต dev db ซึ่งมีการเปลี่ยนแปลงสกีมาเพื่อเปิดใช้งานคุณลักษณะใหม่ เมื่อการพัฒนาคุณลักษณะใหม่เสร็จสมบูรณ์ฉันต้องอัพเดต prod db schema ด้วยตนเองจนกว่าpg_dump --schema-onlyทั้งคู่จะเหมือนกัน กระบวนการนี้เกิดข้อผิดพลาดได้ง่ายและน่าเบื่อ ดังนั้นฉันกำลังมองหาเครื่องมือที่สามารถ: แสดงสรุปความแตกต่างระหว่างสอง schema (เช่นdiff) โปรดทราบว่าฉันไม่ได้มองหาส่วนต่างของต้นฉบับเพียงอย่างเดียว แต่เป็นเครื่องมือที่ซับซ้อนยิ่งขึ้นซึ่งสามารถสรุปได้เช่น "ตารางXมีคอลัมน์ใหม่Y" สร้างรหัส SQL ที่จะแปลงหนึ่งสกีมาเป็นอีกแบบอัตโนมัติ (เช่นpatch) มี schema diff / patch tool ที่สามารถช่วยฉันแปลง prod schemas เป็น schemas dev ขั้นสูงหรือไม่

2
อนุสัญญา PostgreSQL Capitalization อย่างเป็นทางการ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา มีการประชุมอย่างเป็นทางการของ PostreSQL เกี่ยวกับการใช้อักษรตัวพิมพ์ใหญ่ในชื่อฐานข้อมูลตารางและฟิลด์หรือไม่? ตัวอย่างบนเว็บไซต์อย่างเป็นทางการขอแนะนำตัวพิมพ์เล็กและ_คำแยกและฉันสงสัยว่านโยบายนี้อย่างเป็นทางการ CREATE TABLE films ( code char(5) CONSTRAINT firstkey PRIMARY KEY, title varchar(40) NOT NULL, did integer NOT NULL, date_prod date, kind varchar(10), len interval hour to minute );

1
เพิ่มประสิทธิภาพการสืบค้นฐานข้อมูลขนาดใหญ่ (25+ ล้านแถวโดยใช้ max () และ GROUP BY)
ฉันใช้ Postgres 9.3.5 และฉันมีตารางขนาดใหญ่ในฐานข้อมูลปัจจุบันมี 25 ล้านแถวและมีแนวโน้มที่จะใหญ่ขึ้นอย่างรวดเร็ว ฉันพยายามเลือกแถวที่เฉพาะเจาะจง (ทุกแถวมีเฉพาะแถวunit_idล่าสุดunit_timestampสำหรับแถวแต่ละแถว) ด้วยข้อความค้นหาง่ายๆเช่น: SELECT unit_id, max(unit_timestamp) AS latest_timestamp FROM all_units GROUP BY unit_id; ไม่มีดัชนีใด ๆ แบบสอบถามนี้ใช้เวลาประมาณ 35 วินาทีในการดำเนินการ ด้วยดัชนีที่กำหนด ( CREATE INDEX partial_idx ON all_units (unit_id, unit_timestamp DESC);) เวลาแบบสอบถามจะสั้นลงเป็นประมาณ (เท่านั้น) 19 วินาที ฉันสงสัยว่าจะเป็นไปได้หรือไม่ที่จะเรียกใช้คิวรีของฉันในเวลาที่น้อยลง (เช่นเพียงไม่กี่วินาที) และถ้าเป็นเช่นนั้นฉันควรทำตามขั้นตอนใดเพื่อปรับให้เหมาะสมยิ่งขึ้นไปอีก การถ่ายโอนข้อมูลโครงสร้างตารางของฉันมีลักษณะเช่นนี้: CREATE TABLE "all_units" ( "unit_id" int4 NOT NULL, …

3
ย้ายไฟล์บันทึกโดยไม่ต้องออฟไลน์ฐานข้อมูล
ฉันต้องการย้ายไฟล์บันทึกฐานข้อมูลไปยังพาร์ติชันใหม่โดยไม่ต้องออฟไลน์ฐานข้อมูล วิธีปกติในการทำเช่นนี้คือการแยกฐานข้อมูลย้ายไฟล์บันทึกแล้วแนบฐานข้อมูลอีกครั้ง เป็นไปได้ไหมที่จะทำเช่นนี้โดยไม่ทำให้ฐานข้อมูลเป็นออฟไลน์และถ้าเป็นเช่นนั้น

2
การออกแบบฐานข้อมูล: การทำให้ความสัมพันธ์แบบ“ (หลายต่อหลายคน) เป็นแบบปกติ” ให้เป็นมาตรฐาน
เวอร์ชั่นสั้น ฉันต้องเพิ่มคุณสมบัติเพิ่มเติมจำนวนคงที่ให้กับแต่ละคู่ในการเข้าร่วมหลายต่อหลายที่มีอยู่ การข้ามไปยังไดอะแกรมด้านล่างตัวเลือกที่ 1-4 เป็นวิธีที่ดีที่สุดในแง่ของข้อดีและข้อเสียเพื่อให้บรรลุเป้าหมายนี้โดยการขยาย Base Case? หรือมีทางเลือกอื่นที่ดีกว่าที่ฉันไม่ได้พิจารณาที่นี่? รุ่นอีกต่อไป ขณะนี้ฉันมีสองตารางในหลาย ๆ ความสัมพันธ์ผ่านตารางเข้าร่วมระดับกลาง ตอนนี้ฉันต้องเพิ่มลิงก์เพิ่มเติมไปยังคุณสมบัติที่เป็นของคู่ของวัตถุที่มีอยู่ ฉันมีคุณสมบัติเหล่านี้จำนวนคงที่สำหรับแต่ละคู่แม้ว่าหนึ่งรายการในตารางคุณสมบัติอาจนำไปใช้กับหลายคู่ (หรืออาจใช้หลายครั้งสำหรับหนึ่งคู่) ฉันกำลังพยายามหาวิธีที่ดีที่สุดในการทำเช่นนี้และกำลังมีปัญหาในการแยกแยะว่าจะคิดอย่างไรเกี่ยวกับสถานการณ์ ความหมายดูเหมือนว่าฉันสามารถอธิบายเป็นอย่างใดอย่างหนึ่งต่อไปนี้อย่างเท่าเทียมกันดี: คู่หนึ่งคู่เชื่อมโยงกับคุณสมบัติเพิ่มเติมจำนวนหนึ่งชุด หนึ่งคู่เชื่อมโยงกับคุณสมบัติเพิ่มเติมมากมาย วัตถุ (สอง) หลายตัวเชื่อมโยงกับคุณสมบัติหนึ่งชุด วัตถุจำนวนมากเชื่อมโยงกับคุณสมบัติมากมาย ตัวอย่าง ฉันมีประเภทของวัตถุสองชนิดคือ X และ Y แต่ละชนิดมี ID ที่ไม่ซ้ำกันและตารางการเชื่อมโยงที่objx_objyมีคอลัมน์x_idและy_idซึ่งรวมกันเป็นคีย์หลักสำหรับลิงก์ แต่ละ X สามารถเกี่ยวข้องกับ Ys ได้หลายคนและในทางกลับกัน นี่คือการตั้งค่าสำหรับความสัมพันธ์แบบหลายต่อหลายที่มีอยู่ของฉัน เคสฐาน ตอนนี้นอกจากนี้ฉันมีชุดของคุณสมบัติที่กำหนดไว้ในตารางอื่นและชุดของเงื่อนไขที่คู่ (X, Y) ที่กำหนดควรมีคุณสมบัติ P จำนวนเงื่อนไขได้รับการแก้ไขและเหมือนกันสำหรับทุกคู่ พวกเขาพูดว่า "ในสถานการณ์ C1 คู่ (X1, Y1) …

3
อัพเดตองค์ประกอบ json ในประเภทข้อมูล json
ฉันไม่สามารถคิดได้ว่าฉันจะปรับปรุงองค์ประกอบในประเภทข้อมูล PostgreSQL 9.3 ได้อย่างไร ตัวอย่างของฉัน: CREATE TABLE "user" ( id uuid NOT NULL, password character varying(255), profiles json, gender integer NOT NULL DEFAULT 0, created timestamp with time zone, connected timestamp with time zone, modified timestamp with time zone, active integer NOT NULL DEFAULT 1, settings json, seo character varying(255) …

1
เปรียบเทียบแบบสอบถามที่สองใน SQL Server 2012
ฉันกำลังเปรียบเทียบแบบสอบถามที่สองใน SQL Server 2012 เป้าหมายคือการใช้ข้อมูลที่เกี่ยวข้องทั้งหมดที่มีอยู่จากเครื่องมือเพิ่มประสิทธิภาพแบบสอบถามเมื่อเลือกแบบสอบถามที่ดีที่สุด ข้อความค้นหาทั้งสองรายการให้ผลลัพธ์ที่เหมือนกัน ลำดับสูงสุดสำหรับลูกค้าทั้งหมด การล้างบัฟเฟอร์พูลเสร็จก่อนดำเนินการค้นหาด้วย FREEPROCCACHE และ DROPCLEANBUFFERS ใช้ข้อมูลที่ให้ไว้ด้านล่างแบบสอบถามใดเป็นตัวเลือกที่ดีกว่า -- Query 1 - return the maximum order id for a customer SELECT orderid, custid FROM Sales.Orders AS O1 WHERE orderid = (SELECT MAX(O2.orderid) FROM Sales.Orders AS O2 WHERE O2.custid = O1.custid); -- Query 2 - return the …

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