Score:0

mysql user@% สามารถเข้าถึงได้จาก localhost

ธง ca

ฉันบอกเสมอว่า "%" หมายถึงทุกโฮสต์ยกเว้น localhost

อย่างไรก็ตาม ฉันได้สร้าง user4@"%" และฉันสามารถเชื่อมต่อจาก localhost

ภาพหน้าจอ

ตอนนี้ฉันรู้สึกสับสนเล็กน้อยเกี่ยวกับเรื่องนี้ ใครช่วยอธิบายเรื่องนี้ให้ฉันหน่อยได้ไหม

ua flag
มีรายการอื่นสำหรับ `user4` หรือไม่ หรืออาจจะเป็น `"%"@"%"? เปลี่ยนไปที่ฟอรัมน้องสาว dba.stackexchange.com หากคุณไม่ได้รับความพึงพอใจจากความผิดพลาดของเซิร์ฟเวอร์
ptor avatar
ca flag
ไม่. นั่นเป็นเพียงหนึ่งเดียว
Score:2
ธง ar

ฉันบอกเสมอว่า "%" หมายถึงทุกโฮสต์ยกเว้น localhost

นี่มันผิดชัดๆ

% เป็นสัญลักษณ์แทน มัน จับคู่อักขระใดก็ได้ตั้งแต่ 0 ตัวขึ้นไป:

การจับคู่รูปแบบ SQL ช่วยให้คุณใช้ _ เพื่อจับคู่อักขระเดี่ยวใดๆ และ % เพื่อจับคู่อักขระจำนวนเท่าใดก็ได้ (รวมถึงอักขระศูนย์)

ดังนั้น % ในฟิลด์ชื่อโฮสต์จึงตรงกัน ใดๆ โฮสต์รวมถึง localhost

ptor avatar
ca flag
ขอบคุณสำหรับข้อมูล.
ua flag
แต่ฉันคิดว่า user@host ได้รับการปฏิบัติเป็นพิเศษ
ptor avatar
ca flag
ในเอกสารระบุว่า @"localhost" ได้รับการปฏิบัติแตกต่างกันในระบบ UNIX เนื่องจากใช้ซ็อกเก็ต UNIX เป็นโปรโตคอลสำหรับการเชื่อมต่อภายในเครื่อง แต่ไม่ได้บอกว่าอะไรคือความแตกต่าง ตามที่ครูของฉัน user1@"%" ไม่ควรได้รับอนุญาตให้เชื่อมต่อกับเซิร์ฟเวอร์ในเครื่อง แต่การทดสอบของฉันพิสูจน์เป็นอย่างอื่น
vidarlo avatar
ar flag
ไคลเอนต์ใช้ค่าเริ่มต้นเพื่อพยายามสื่อสารซ็อกเก็ตสำหรับ localhost นั่นไม่ได้เปลี่ยนการจัดการไวด์การ์ดของ mysql อย่างไรก็ตาม การทดสอบของคุณถูกต้องทั้งหมด และตรงกับเอกสารประกอบ สัญลักษณ์แทน - และครูของคุณผิด

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา