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

MySQL เป็นฐานข้อมูลโอเพ่นซอร์สที่ Oracle เป็นเจ้าของ

7
Mysql: สร้างดัชนีใน 1.4 พันล้านบันทึก
ฉันมีตารางที่มี 1.4 พันล้านบันทึก โครงสร้างของตารางมีดังนี้: CREATE TABLE text_page ( text VARCHAR(255), page_id INT UNSIGNED ) ENGINE=MYISAM DEFAULT CHARSET=ascii textความต้องการคือการสร้างดัชนีมากกว่าคอลัมน์ ขนาดโต๊ะประมาณ 34G ฉันพยายามสร้างดัชนีโดยคำสั่งต่อไปนี้: ALTER TABLE text_page ADD KEY ix_text (text) หลังจากรอ 10 ชั่วโมงในที่สุดฉันก็ยอมแพ้วิธีนี้ มีวิธีแก้ปัญหาที่ใช้การได้กับปัญหานี้หรือไม่? UPDATE : ตารางไม่น่าจะถูกปรับปรุงหรือแทรกหรือลบ สาเหตุที่สร้างดัชนีในคอลัมน์textเป็นเพราะแบบสอบถามชนิดนี้จะถูกเรียกใช้งานบ่อย: SELECT page_id FROM text_page WHERE text = ? UPDATE : ฉันได้แก้ไขปัญหาด้วยการแบ่งตาราง ตารางจะแบ่งออกเป็น 40 textชิ้นในคอลัมน์ …
9 mysql  indexing 

4
MySQL 5.1 หรือ 5.5?
มีความแตกต่างอย่างมีนัยสำคัญระหว่างเวอร์ชั่น 5.1 และ 5.5 หรือไม่ เซิร์ฟเวอร์ที่เป็นปัญหาถูกใช้เพื่อโฮสต์ฟอรัม vBulletin ขนาดกลาง ประโยชน์หลักของ 5.1 คือพร้อมใช้งานผ่าน apt-get
9 mysql 

2
ไม่สามารถสร้าง / เขียนไฟล์ '/tmp/#sql_xxxx.MYI' (Errcode: 13)
ฉันได้ติดตั้ง Debian Lenny, PHPmyadmin และ postfix แล้ว เมื่อใช้ PHPmyadmin GUI และเข้าถึงตารางใด ๆ กับข้อมูลที่ฉันได้รับ: ไม่สามารถสร้าง / เขียนไฟล์ '/tmp/#sql_xxxx.MYI' (Errcode: 13) ทำ perror 13 พูดว่า: OS error code 13: Permission denied ฉันพบว่า tmpdir นั้นเป็นเช่นนั้น: mysqladmin -p variables | grep -w tmpdir | tmpdir | /tmp ตอนนี้หมายความว่า mysql ไม่สามารถเขียนไปยัง / tmp ทำให้สิทธิ์ในการ: 777 …
9 mysql  debian 

9
การป้องกันการโจมตีแบบไม่ใช้กำลังบน MySQL หรือไม่
ฉันจำเป็นต้องเปิดระบบเครือข่ายสำหรับ MySQLd แต่ทุกครั้งที่ทำเซิร์ฟเวอร์จะถูกบังคับให้ถูกลืมเลือน สคริปต์การเดารหัสผ่านบางค่าเฉลี่ยเริ่มใช้การตอกบนเซิร์ฟเวอร์เปิดการเชื่อมต่อบนพอร์ต 3306 และลองใช้รหัสผ่านแบบสุ่มตลอดไป ฉันจะหยุดสิ่งนี้ไม่ให้เกิดขึ้นได้อย่างไร? สำหรับ SSH ฉันใช้ denyhosts ซึ่งทำงานได้ดี มีวิธีทำให้ denyhosts ทำงานกับ MySQLd หรือไม่? ฉันยังคิดว่าการเปลี่ยนพอร์ต MySQL ทำงานอยู่ แต่นี่ก็น้อยกว่าอุดมคติและเป็นเพียงโซลูชันหยุดช่องว่าง (ถ้าพวกเขาค้นพบพอร์ตใหม่) ไม่มีใครมีความคิดอื่น ๆ อีกบ้าง? ถ้ามันเปลี่ยนไปฉันกำลังรัน MySQL 5.x บน FreeBSD 6.x

2
mysqldump ถามรหัสผ่านใน shellscript
ฉันเขียนเชลล์สคริปง่ายๆเพื่อทิ้งฐานข้อมูล MySQL เฉพาะ ปัญหาคือมันทำให้ฉันขอรหัสผ่านแม้ว่าฉันจะให้ mysql db เป็นรุ่น 5.0.27 หากมีความสำคัญ นี่คือบรรทัดเฉพาะที่ฉันใช้ $MYSQLDUMP -u backup -p$MyPass $DB > $DEST/$FILE ฉันลองหลายรูปแบบ แต่ก็ไม่มีประโยชน์
9 mysql  shell 

1
ดูประวัติการใช้งานใน MySQL
เรามีเซิร์ฟเวอร์ Ubuntu 11.10 ที่ใช้งาน LAMP stack มันถูกตั้งค่าก่อนที่ฉันจะมาที่นี่และไม่มีใครรู้ว่ามันใช้ทำอะไร ฉันต้องย้ายมันหรือปิดตัวลง แต่ฉันต้องรู้ว่ามันทำอะไรก่อน ขุดผ่านมันไม่มีไซต์โฮสต์ออกจากมัน แต่มีหลายฐานข้อมูลที่สร้างขึ้นใน MySQL ดังนั้นจึงอาจเชื่อมต่อกับไซต์ใดไซต์หนึ่งของเรา แต่ไม่มี devs ใด ๆ ที่นี่รู้ สิ่งที่ฉันต้องทำก็คือดูประวัติการเชื่อมต่อบนฐานข้อมูล MySQL ทำสิ่งที่ฉันสามารถหาได้หากมีการเชื่อมต่อกับพวกเขา ฉันกำลังตรวจสอบรายการกระบวนการและไม่เห็นการเชื่อมต่อที่ใช้งานอยู่
2 ubuntu  mysql 

1
mysql บน freebsd ทำให้ไฟล์บันทึกแบบไบนารี่ 1GB ทุก ๆ 20 นาทีเติมพื้นที่ว่างในดิสก์ได้อย่างรวดเร็ว
ฉันมีปัญหากับ MySQL ใน FreeBSD มันทำให้ไฟล์ไบนารีจำนวนมาก 1GB ทุก ๆ 20 นาทีและมันก็เติมพื้นที่ว่างในดิสก์อย่างรวดเร็ว -rw-rw---- 1 mysql mysql 1073741982 2013-09-14 18:26 mysql-bin.000174 -rw-rw---- 1 mysql mysql 1073741890 2013-09-14 18:42 mysql-bin.000175 -rw-rw---- 1 mysql mysql 1073741988 2013-09-14 18:59 mysql-bin.000176 -rw-rw---- 1 mysql mysql 1073741964 2013-09-14 19:15 mysql-bin.000177 -rw-rw---- 1 mysql mysql 1073741974 2013-09-14 19:29 mysql-bin.000178 …

1
ฉันควรใช้วิธีการมิเรอร์ MySQL แบบใด
ฉันใช้บริการโฮสต์เว็บแอปพลิเคชัน (โดยทั่วไปจะโฮสต์ฟอรัมฟรี) และฉันมีเซิร์ฟเวอร์ระยะไกลสองตัวที่ให้บริการ รหัสสำหรับแอปพลิเคชันถูกเก็บไว้บนเซิร์ฟเวอร์ทั้งสองและไม่ใช่ปัญหา แต่ฉันสงสัยว่าจะจัดการกับฐานข้อมูลได้อย่างไร เมื่อมีคนเข้าสู่ไซต์ * .example-host.com พวกเขาจะถูกส่งไปยังหนึ่งในสองเซิร์ฟเวอร์และทั้งสองจะต้องสามารถโหลดฟอรัมจากฐานข้อมูล ฐานข้อมูลจะต้องมีการเข้าถึงเพื่อเขียนสำหรับเมื่อสมาชิกใหม่ลงทะเบียนหรือโพสต์หัวข้อ ฯลฯ ข้อกำหนดหลักคือความเร็ว แต่สถานะการออนไลน์ก็มีความสำคัญเช่นกัน (หากเซิร์ฟเวอร์หมดไซต์ควรทำงานต่อไป) ฉันมีตัวเลือกน้อย แต่ฉันไม่มีประสบการณ์และไม่แน่ใจว่าจะไปกับ: 1) [PHP]แบ่งฟอรัมบันทึก 50:50 ระหว่างสองเซิร์ฟเวอร์ หากเซิร์ฟเวอร์ไม่มีเร็กคอร์ดสำหรับฟอรัมที่ร้องขอก็สามารถร้องขอได้จากอีกอันหนึ่งโดย MySQL ระยะไกลและโหลด แนวคิดนี้ฟังดูโอเคจนกระทั่งฉันรู้ว่า 50% ของเวลาผู้ใช้จะต้องรออีกต่อไปเพื่อให้โหลดหน้าเว็บ ฉันยังตระหนักว่าหากเซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่งล่มฟอรัมครึ่งหนึ่งจะไม่สามารถเข้าถึงได้และการลงทะเบียนจะต้องถูกปิดใช้งาน 2) [MySQL]การจำลองแบบต้นแบบคู่ สิ่งนี้จะพยายามสะท้อนสองฐานข้อมูลและฟังดูสมบูรณ์แบบ แต่ฉันได้ยินมาว่าอาจเป็นปัญหาได้ ฉันไม่รู้ว่านี่เร็วแค่ไหน 3) [MySQL]ใช้การจำลองแบบมาตรฐานแจกจ่ายแบบสอบถามแบบอ่านอย่างเดียวบนทั้งสองโหนดและแบบสอบถามแบบอ่าน / เขียนไปยังต้นแบบ ฟังดูเหมือนตัวเลือกที่ดี แต่ฉันไม่แน่ใจเรื่องความเร็วอีก ฉันก็ไม่รู้เหมือนกันว่าจะเกิดอะไรขึ้นถ้าเซิร์ฟเวอร์หลักล่ม หากคุณมีข้อเสนอแนะอื่น ๆ โปรดโพสต์พวกเขา :)

4
เก็บไฟล์ที่อัปโหลดไว้ในซิงค์ข้ามหลายเซิร์ฟเวอร์ - หลอด
ฉันมีเว็บไซต์อยู่ในขณะนี้ซึ่งใช้เซิร์ฟเวอร์ 2 เครื่องเซิร์ฟเวอร์แอปพลิเคชันและเซิร์ฟเวอร์ฐานข้อมูลอย่างไรก็ตามการโหลดบนเซิร์ฟเวอร์แอปพลิเคชันเพิ่มขึ้นเรากำลังจะเพิ่มแอพพลิเคชันเซิร์ฟเวอร์ที่สอง ปัญหาที่ฉันมีคือเว็บไซต์มีผู้ใช้อัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ ฉันจะรับไฟล์ที่อัพโหลดบนเซิร์ฟเวอร์ทั้งสองได้อย่างไร ฉันไม่ต้องการจัดเก็บภาพโดยตรงในฐานข้อมูลเนื่องจากแอปพลิเคชันของเราใช้ฐานข้อมูลอย่างเข้มข้นอยู่แล้ว มีวิธีซิงค์เซิร์ฟเวอร์ระหว่างกันหรือมีอย่างอื่นที่ฉันสามารถทำได้หรือไม่? ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม ขอบคุณ

1
วิธีการแก้ปัญหาการเชื่อมต่อช้ามาก proftpd?
ฉันมีปัญหาใหญ่กับการติดตั้ง proftpd ของฉัน: การเข้าสู่ระบบช้าเช่นเดียวกับนรกมันใช้เวลาประมาณ 10 วินาทีและนานกว่านั้น ฉันใช้ mysql และ mod_sql เป็นแบ็กเอนด์สำหรับการเข้าสู่ระบบ ฉันค้นหาแล้วเล็กน้อยและเพิ่มสิ่งต่อไปนี้ในการกำหนดค่า proftpd ของฉัน: UseReverseDNS off IdentLookups off ServerIdent on “...” แต่นั่นก็ไม่ได้ช่วยอะไรเลย Mysql ถูกตั้งค่าให้ไม่ทำการค้นหา DNS ใด ๆ ในขณะที่ฉันไม่มีความคิดสิ่งที่ต้องลองต่อไป - คุณมีอะไรบ้าง ขอบคุณมาก!
mysql  ftp  proftpd 

1
การปรับ Mariadb - การเขียนช้า
พื้นหลัง: ฉันมีเว็บไซต์ที่ฉันกำลังย้ายจากเซิร์ฟเวอร์ MariaDB แบบสแตนด์อะโลนไปยังคลัสเตอร์ Galera MariaDB ส่วนนี้ทำให้ฉันแปลงตารางจาก MyISAM จำนวนมากเป็น InnoDB สำหรับสิ่งที่คุ้มค่าเว็บไซต์คือการติดตั้ง joomla ขนาดใหญ่ ส่วนปลายด้านหน้าของเว็บไซต์ทำงานได้ดี ไม่มีปัญหา ส่วนผู้ดูแลระบบช้าอย่างเจ็บปวดในการบันทึกอะไร - 25-30 วินาทีจากเวลาที่คุณกดบันทึกจนกว่าจะเสร็จสิ้น เซ็ตอัพเซ็ตอัพ 3 โหนด Galera - 12 คอร์ Intel (R) Xeon (R) CPU E5-1650 v4 @ 3.60GHz 64GB w SSD บน Raid HA Proxy สำหรับการทำโหลดบาลานซ์ /etc/my.cnf [mysqld] innodb_buffer_pool_siz=32Gb innodb_log_file_size = 2Gb innodb_flush_method=O_DIRECT …

2
บริการสคริปต์ Linux init - ล่าช้าจนกว่าซ็อกเก็ต mysql พร้อม
หนึ่งไปเกี่ยวกับการล่าช้าสคริปต์บริการ init ใน Linux จนกว่าซ็อกเก็ต MySQL อยู่? คำสั่ง sleep ในสคริปต์เริ่มต้นทำให้กระบวนการบูตทั้งหมดล่าช้าหรือเป็นสคริปต์เริ่มต้นที่ดำเนินการโดยเธรดอื่นเพื่อป้องกันการบล็อกหรือไม่ ฉันพยายามรับบริการ PolicyD ของฉันเพื่อเริ่มต้นหลังจาก MySQL ขณะนี้มันทำใน /etc/rc5.d เนื่องจากสคริปต์ของ PolicyD เริ่มต้นด้วย S06 ในขณะที่ MySQL เริ่มต้นด้วย S04 ปัญหาคือว่าเมื่อสคริปต์ init ของ policyd ทำงานหาก /var/run/mysqld/mysqld.sock ไม่มีอยู่แสดงว่าไม่ทำงาน ถ้าฉันหน่วงเวลาสคริปต์เป็นเวลา 60 วินาทีมันใช้งานได้ดี (ให้ MySQL มีเวลาเพียงพอในการเริ่มต้นระบบและซ็อกเก็ตของมัน) แต่ฉันไม่ต้องการหยุดกระบวนการบูตทั้งหมดชั่วคราวในระยะเวลานานใช่ไหม ฉันไม่คิดว่า MySQL มีชื่อสิ่งอำนวยความสะดวกเสมือนชื่อ LSB เพื่อชะลอการเริ่มต้นของ policyd หรือไม่ ( https://wiki.debian.org/LSBInitScripts ) วิธีที่ดีที่สุดในการจัดการกับสิ่งนี้คืออะไร? ระบบ …
-1 mysql  boot  systemd  startup  init 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.