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

MySQL เป็นโอเพ่นซอร์สระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ที่ใช้ภาษาคิวรีเชิงโครงสร้าง (SQL) ห้ามใช้แท็กนี้สำหรับฐานข้อมูลอื่น ๆ เช่น SQL Server, SQLite เป็นต้นฐานข้อมูลเหล่านี้เป็นฐานข้อมูลที่แตกต่างกันซึ่งทั้งหมดใช้ภาษาของ SQL เพื่อจัดการข้อมูล

21
ให้การเข้าถึงระยะไกลของฐานข้อมูล MySQL จากที่อยู่ IP ใด ๆ
ฉันตระหนักถึงคำสั่งนี้: GRANT ALL PRIVILEGES ON database.* TO 'user'@'yourremotehost' IDENTIFIED BY 'newpassword'; แต่ก็อนุญาตให้ฉันให้ที่อยู่ IP เฉพาะเพื่อเข้าถึงฐานข้อมูล MySQL ระยะไกลนี้เท่านั้น ถ้าฉันต้องการมันเพื่อให้รีโมตโฮสต์สามารถเข้าถึงฐานข้อมูล MySQL นี้ได้ ฉันจะทำอย่างไร โดยทั่วไปฉันจะทำให้ฐานข้อมูลนี้เป็นสาธารณะเพื่อให้ทุกคนสามารถเข้าถึงได้
280 mysql  grant 

5
UTF-8: ทั่วไปใช่ไหม Bin? Unicode?
ฉันกำลังพยายามหาการเปรียบเทียบที่ฉันควรใช้สำหรับข้อมูลประเภทต่างๆ เนื้อหา 100% ที่ฉันจะจัดเก็บนั้นเป็นแบบที่ผู้ใช้ส่ง ความเข้าใจของฉันคือฉันควรใช้ UTF-8 General CI (ตัวพิมพ์เล็ก - ใหญ่) แทน UTF-8 Binary อย่างไรก็ตามฉันไม่สามารถค้นหาความแตกต่างที่ชัดเจนระหว่าง UTF-8 General CI และ UTF-8 Unicode CI ฉันควรจัดเก็บเนื้อหาที่ผู้ใช้ส่งในคอลัมน์ UTF-8 General หรือ UTF-8 Unicode CI หรือไม่ ข้อมูลประเภทใดที่จะใช้กับ UTF-8 Binary?
279 mysql  utf-8  collation 

12
ประเภทข้อมูลที่ดีที่สุดสำหรับเก็บค่าเงินใน MySQL
ฉันต้องการเก็บบันทึกจำนวนมากในฐานข้อมูล MySQL พวกเขาทั้งหมดมีค่าเงิน แต่ฉันไม่ทราบว่าจะใส่ตัวเลขจำนวนเท่าใดในแต่ละอัน ฉันต้องใช้ข้อมูลชนิดใดเพื่อจุดประสงค์นี้ VARCHARหรือINT (หรือชนิดข้อมูลตัวเลขอื่น ๆ )?

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


10
MySQL ชอบ () ใช่ไหม
ข้อความค้นหาปัจจุบันของฉันดูเหมือนว่า: SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %' ฉันได้มองไปรอบ ๆ และไม่พบสิ่งใดที่คล้ายกับ LIKE IN () - ฉันจินตนาการว่ามันทำงานได้เช่นนี้: SELECT * FROM fiberbox f WHERE f.fiberbox LIKE IN('%140 %', '%1938 %', '%1940 %') ความคิดใด ๆ ฉันแค่คิดถึงปัญหาในทางที่ผิด - บางคำสั่งคลุมเครือฉันไม่เคยเห็น MySQL 5.0.77-community-log
273 sql  mysql 

15
มีอะไรเร็วกว่าเลือก DISTINCT หรือ GROUP BY ใน MySQL?
ถ้าฉันมีตาราง CREATE TABLE users ( id int(10) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL, profession varchar(255) NOT NULL, employer varchar(255) NOT NULL, PRIMARY KEY (id) ) และฉันต้องการได้รับค่าของprofessionฟิลด์ที่ไม่ซ้ำกันทั้งหมดสิ่งที่จะเร็วขึ้น (หรือแนะนำ): SELECT DISTINCT u.profession FROM users u หรือ SELECT u.profession FROM users u GROUP BY u.profession ?

24
ระงับข้อความเตือนโดยใช้ mysql จากภายใน Terminal แต่รหัสผ่านที่เขียนในสคริปต์ทุบตี
เมื่อฉันพยายามเรียกใช้คำสั่งต่อไปนี้ใน MySQL จากภายใน Terminal: mysql -u $user -p$password -e "statement" การดำเนินการทำงานตามที่คาดไว้ แต่จะออกคำเตือนเสมอ: คำเตือน: การใช้รหัสผ่านบนอินเตอร์เฟสบรรทัดคำสั่งอาจไม่ปลอดภัย อย่างไรก็ตามฉันต้องทำคำสั่งข้างต้นโดยใช้ตัวแปรสภาพแวดล้อม ( $password) ที่เก็บรหัสผ่านของฉันเพราะฉันต้องการเรียกใช้คำสั่งอย่างซ้ำ ๆ ในสคริปต์ทุบตีจากภายในเทอร์มินัลและฉันไม่ชอบความคิดในการรอให้ปรากฏขึ้น และบังคับให้ฉันใส่รหัสผ่าน 50 หรือ 100 ครั้งในสคริปต์เดียว ดังนั้นนี่คือคำถามของฉัน: เป็นไปได้หรือไม่ที่จะระงับคำเตือน? คำสั่งทำงานอย่างถูกต้องตามที่ระบุไว้ แต่หน้าต่างจะดูยุ่งเหยิงเมื่อฉันวนลูปและรันคำสั่ง 50 หรือ 100 ครั้ง ฉันควรเชื่อฟังข้อความเตือนและอย่าเขียนรหัสผ่านในสคริปต์ของฉัน? หากเป็นเช่นนั้นฉันต้องพิมพ์รหัสผ่านทุกครั้งที่ระบบพรอมต์บังคับให้ฉันทำเช่นนั้นหรือไม่ การวิ่งman mysqlไม่ได้ช่วยพูดเพียงอย่างเดียว --show-warnings ทำให้เกิดคำเตือนที่จะแสดงหลังจากแต่ละคำสั่งถ้ามี ตัวเลือกนี้ใช้กับโหมดการโต้ตอบและแบทช์ และไม่ได้กล่าวถึงวิธีการปิดฟังก์ชั่นหากฉันไม่ได้ทำอะไรสักอย่าง ฉันใช้ OS X 10.9.1 Mavericks และใช้ MySQL 5.6 จาก …
273 mysql  bash  shell 

21
MySQL 8.0 - ไคลเอ็นต์ไม่รองรับโปรโตคอลการตรวจสอบสิทธิ์ที่ร้องขอโดยเซิร์ฟเวอร์ พิจารณาอัพเกรดไคลเอนต์ MySQL
ฉันไม่สามารถทำการเชื่อมต่อกับเซิร์ฟเวอร์ได้ง่าย ๆ ด้วยเหตุผลบางอย่าง ฉันติดตั้งฐานข้อมูล MySQL Community 8.0 ใหม่ล่าสุดพร้อมกับ Node.JS พร้อมการตั้งค่าเริ่มต้น นี่คือรหัส node.js ของฉัน var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "password", insecureAuth : true }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); }); ด้านล่างเป็นข้อผิดพลาดที่พบในพรอมต์คำสั่ง: C:\Users\mysql-test>node app.js C:\Users\mysql-test\node_modules\mysql\lib\protocol\Parse r.js:80 throw err; // Rethrow non-MySQL errors …
273 mysql  node.js 

7
วิธีค้นหาตารางทั้งหมดที่มี foreign key ที่อ้างอิง table.column โดยเฉพาะและมีค่าสำหรับ foreign key เหล่านั้นอย่างไร
ฉันมีตารางที่มีคีย์หลักที่อ้างอิงในตารางอื่น ๆ เป็นคีย์ต่างประเทศ ตัวอย่างเช่น: CREATE TABLE `X` ( `X_id` int NOT NULL auto_increment, `name` varchar(255) NOT NULL, PRIMARY KEY (`X_id`) ) CREATE TABLE `Y` ( `Y_id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `X_id` int DEFAULT NULL, PRIMARY KEY (`Y_id`), CONSTRAINT `Y_X` FOREIGN KEY (`X_id`) REFERENCES `X` (`X_id`) ) …

12
วิธีการแสดงที่ดีที่สุดในเทอร์มินัล MySQL SELECT คืนค่าฟิลด์มากเกินไป?
ฉันใช้PuTTYเพื่อเรียกใช้: mysql> SELECT * FROM sometable; sometableมีหลายฟิลด์และผลลัพธ์นี้มีหลายคอลัมน์ที่พยายามแสดงในเทอร์มินัล เขตข้อมูลห่อลงในบรรทัดถัดไปดังนั้นจึงเป็นเรื่องยากมากที่จะจัดเรียงชื่อคอลัมน์ที่มีค่าฟิลด์ มีโซลูชั่นอะไรบ้างสำหรับการดูข้อมูลดังกล่าวใน terminal ฉันไม่ต้องการหรือต้องการเข้าถึง phpMyAdmin - หรืออินเตอร์เฟส GUI อื่น ๆ ฉันกำลังมองหาโซลูชันบรรทัดคำสั่งเช่นนี้: บันทึกผลลัพธ์การสืบค้น MySQL เป็นข้อความหรือไฟล์ CVS

15
วิธีการสร้างแบบสอบถามแบบเรียกซ้ำ MySQL ลำดับชั้น
ฉันมีตาราง MySQL ซึ่งเป็นดังนี้: id | name | parent_id 19 | category1 | 0 20 | category2 | 19 21 | category3 | 20 22 | category4 | 21 ...... ตอนนี้ฉันต้องการมีแบบสอบถาม MySQL เดียวที่ฉันเพียงแค่ใส่รหัส [ตัวอย่างเช่นพูดว่า 'id = 19'] จากนั้นฉันควรจะได้รับรหัสลูกทั้งหมดของมัน ... นอกจากนี้ลำดับชั้นของเด็ก ๆ ยังไม่เป็นที่ทราบว่าสามารถเปลี่ยนแปลงได้ นอกจากนี้ฉันมีวิธีการใช้สำหรับวนลูป ..... ให้ฉันรู้วิธีการบรรลุเดียวกันโดยใช้แบบสอบถาม MySQL เดียวถ้าเป็นไปได้

8
MySQL: เลือกแถวที่คอลัมน์เป็นโมฆะ
ฉันมีปัญหาเมื่อฉันพยายามเลือกแถวที่มีค่า NULL สำหรับคอลัมน์ใดคอลัมน์หนึ่งมันจะส่งคืนชุดว่าง อย่างไรก็ตามเมื่อฉันดูตารางใน phpMyAdmin มันบอกว่าไม่มีค่าสำหรับแถวส่วนใหญ่ ข้อความค้นหาของฉันมีลักษณะเช่นนี้: SELECT pid FROM planets WHERE userid = NULL ตั้งค่าว่างทุกครั้ง มีหลายสถานที่ที่บอกว่าต้องไม่เก็บเป็น "NULL" หรือ "null" แทนที่จะเป็นค่าจริงและมีคนบอกว่าให้ลองมองหาช่องว่าง ( userid = ' ') แต่ไม่มีสิ่งใดทำงานได้ มีข้อเสนอแนะที่จะไม่ใช้ MyISAM และใช้ innoDB เพราะ MyISAM มีปัญหาในการจัดเก็บที่ว่าง ฉันเปลี่ยนตารางเป็น innoDB แต่ตอนนี้ฉันรู้สึกว่าปัญหาอาจเป็นได้ว่ามันยังไม่เป็นจริงเพราะวิธีการแปลง ฉันต้องการทำสิ่งนี้โดยไม่ต้องสร้างตารางเป็น innoDB หรือสิ่งอื่นใด แต่ถ้าฉันต้องทำฉันสามารถลองได้อย่างแน่นอน
270 mysql  null 

10
การใช้ MySQL กับ Entity Framework [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน10 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ไม่พบสิ่งที่เกี่ยวข้องกับ Entity Framework / MySQL บน Google ดังนั้นฉันหวังว่าจะมีคนรู้เกี่ยวกับมัน

11
วิธีการแก้จุดบกพร่องล็อคเกินเวลารอล็อคบน MySQL?
ในบันทึกข้อผิดพลาดการผลิตของฉันฉันเห็นเป็นครั้งคราว: SQLSTATE [HY000]: ข้อผิดพลาดทั่วไป: เกินกำหนดเวลารอการล็อค 1205; ลองรีสตาร์ทธุรกรรม ฉันรู้ว่าแบบสอบถามใดพยายามเข้าถึงฐานข้อมูลในขณะนั้น แต่มีวิธีค้นหาว่าแบบสอบถามใดมีการล็อกในช่วงเวลาที่แม่นยำหรือไม่

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