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

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

2
ความพยายามครั้งแรกในการโยกย้าย EC2 MySQL ไปยัง Amazon RDS ไม่เป็นไปด้วยดี - สิทธิ์พิเศษ
ฉันพยายามย้ายฐานข้อมูลที่มีอยู่จาก MySQL ที่ทำงานบน EC2 ไปยังอินสแตนซ์ Amazon RDS ใหม่ (การทดลองเพื่อดูว่าเราสามารถย้ายข้าม) จนถึงตอนนี้มันยังไม่ดี ฉันติดอยู่ที่การนำเข้าเริ่มต้นก่อนที่จะตั้งค่าการจำลองแบบ (คำแนะนำที่นี่ ) ฉันได้เตรียมอินสแตนซ์ RDS ตามที่อธิบายไว้และสามารถเชื่อมต่อได้จากอินสแตนซ์ EC2 โดยใช้ mysql ฉันรันคำสั่ง mysqldump เป็น: mysqldump --master-data --databases db1 db2 > dump.sql จากนั้นพยายามอัปโหลดไปยัง RDS ด้วย: mysql -h RDSHost -P 3306 -u rdsuser --password=rdspassword < dump.sql ปัญหาแรกอยู่ที่บรรทัดที่ 22 ของดัมพ์: เปลี่ยน MASTER เป็น MASTER_LOG_FILE = …

3
vsftpd - PAM - MySQL และ pam_mkhomedir เพื่อสร้างไดเรกทอรี
ฉันใช้ vsftpd กับผู้ใช้เสมือนที่เชื่อมต่อกับ PAM กับ mysql DB ได้สำเร็จ ตอนนี้ฉันต้องการสร้างไดเรกทอรีผู้ใช้โดยอัตโนมัติด้วยการเชื่อมต่อ vsftpd ที่ประสบความสำเร็จ นี่คือ /etc/pam.d/vsftpd การกำหนดค่า: #%PAM-1.0 session optional pam_keyinit.so force revoke auth required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3 account required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3 session required pam_mkhomedir.so skel=/home/skel/ umask=0022 debug …
11 mysql  permissions  ftp  pam  vsftpd 

6
เชื่อมต่อกับบรรทัดรับคำสั่ง MySQL โดยไม่ต้องใช้รหัสผ่านรูต
ฉันกำลังสร้างสคริปต์ Bash สำหรับงานบางอย่าง หนึ่งในภารกิจเหล่านั้นคือการสร้างฐานข้อมูล MySQL จากภายในสคริปต์ทุบตีเดียวกัน สิ่งที่ฉันทำตอนนี้คือการสร้างสอง vars: หนึ่งสำหรับชื่อผู้ใช้ร้านค้าและอื่น ๆ สำหรับรหัสผ่านร้านค้า นี่คือส่วนที่เกี่ยวข้องของสคริปต์ของฉัน: MYSQL_USER=root MYSQL_PASS=mypass_goes_here touch /tmp/$PROY.sql && echo "CREATE DATABASE $DB_NAME;" > /tmp/script.sql mysql --user=$MYSQL_USER --password="$MYSQL_PASS" < /tmp/script.sql rm -rf /tmp/script.sql แต่มักจะได้รับข้อผิดพลาดว่าการเข้าถึงถูกปฏิเสธสำหรับผู้ใช้รูทด้วยรหัสผ่านไม่สิ่งที่ฉันทำผิด? ฉันต้องทำเช่นเดียวกันสำหรับ PostgreSQL

5
ทำให้เกิดข้อผิดพลาด MySQL 1062 อะไร - รายการที่ซ้ำกันเมื่อเริ่มต้นทาส?
รุ่น MySQL หลัก: 5.5.16-1 MySQL Slave เวอร์ชั่น: 5.5.18-1 สแนปชอตของต้นแบบถูกสร้างโดย: mysql> FLUSH TABLES WITH READ LOCK; shell> mysqldump --all-databases --master-data > dbname_`date +%F`.sql ไฟล์ดัมพ์นี้ถูกอิมพอร์ตบนสลาฟ (ซึ่งเริ่มด้วย--skip-slave-startตัวเลือก) โดยไม่มีข้อผิดพลาด: shell> pv dbname_`date +%F`.sql | mysql -u root -p แต่ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อดำเนินการmysql> start slave;: Last_SQL_Errno: 1062 Last_SQL_Error: Error 'Duplicate entry '115846' for key 'PRIMARY'' on query. Default …

1
ตัวเลือก config mysql init-file ให้ไฟล์ไม่พบข้อผิดพลาด
ฉันต้องการให้สคริปต์ SQL ทำงานเมื่อใดก็ตามที่ mysql เริ่มทำงาน แต่ฉันไม่สามารถทำงานได้ใน Ubuntu 11.10 ฉันได้เพิ่มตัวเลือก " init-file " ลงในไฟล์กำหนดค่า mysql: > sudo emacs -nw /etc/mysql/my.cnf ... [mysqld] init-file=/etc/mysql/mysqlinit.sql ... แต่เมื่อฉันรีสตาร์ท mysql มันล้มเหลวด้วยข้อผิดพลาด " ไม่พบไฟล์ ": > tail /var/log/mysql/error.log 111111 7:41:06 [ERROR] /usr/sbin/mysqld: File '/etc/mysql/mysqlinit.sql' not found (Errcode: 13) 111111 7:41:06 [ERROR] Aborting แต่ไฟล์นั้นมีอยู่จริงและอ่านได้: > ls -l …
11 ubuntu  mysql  apparmor 


6
การตั้งค่าการ จำกัด เวลาสำหรับการทำธุรกรรมใน MySQL / InnoDB
ที่เกิดขึ้นจากคำถามที่เกี่ยวข้องนี้ที่ฉันต้องการทราบวิธีการบังคับให้สองธุรกรรมเกิดขึ้นตามลำดับในกรณีที่ไม่สำคัญ (ซึ่งทั้งสองทำงานในแถวเดียวเท่านั้น) ฉันได้รับคำตอบ - ใช้SELECT ... FOR UPDATEเป็นบรรทัดแรกของธุรกรรมทั้งสอง - แต่สิ่งนี้นำไปสู่ปัญหา: หากการทำธุรกรรมครั้งแรกไม่ได้กระทำหรือย้อนกลับธุรกรรมที่สองจะถูกปิดกั้นอย่างไม่มีกำหนด innodb_lock_wait_timeoutตัวแปรกำหนดจำนวนวินาทีหลังจากที่ลูกค้าพยายามที่จะทำให้การทำธุรกรรมที่สองจะได้รับการบอกว่า "ขออภัยลองอีกครั้ง" ... แต่เท่าที่ผมสามารถบอกพวกเขาต้องการจะพยายามอีกครั้งจนกว่ารีบูตเซิร์ฟเวอร์ถัดไป ดังนั้น: แน่นอนว่าจะต้องมีวิธีการบังคับROLLBACKถ้าธุรกรรมใช้เวลานาน? ฉันต้องหันไปใช้ daemon เพื่อฆ่าธุรกรรมดังกล่าวหรือไม่และถ้าใช่ daemon นั้นจะมีลักษณะอย่างไร หากการเชื่อมต่อถูกฆ่าตายโดยwait_timeoutหรือinteractive_timeoutmid-transaction ธุรกรรมจะถูกย้อนกลับหรือไม่? มีวิธีทดสอบสิ่งนี้จากคอนโซลหรือไม่? Clarification : innodb_lock_wait_timeoutตั้งค่าจำนวนวินาทีที่ธุรกรรมจะรอการปลดล็อคก่อนที่จะยอมแพ้ สิ่งที่ฉันต้องการคือวิธีการบังคับให้ล็อคเพื่อปลดล็อค อัปเดต 1 : ต่อไปนี้เป็นตัวอย่างง่ายๆที่แสดงให้เห็นว่าเหตุใดจึงinnodb_lock_wait_timeoutไม่เพียงพอเพื่อให้แน่ใจว่าการทำธุรกรรมครั้งที่สองไม่ได้ถูกบล็อกโดยรายการแรก: START TRANSACTION; SELECT SLEEP(55); COMMIT; ด้วยการตั้งค่าเริ่มต้นของinnodb_lock_wait_timeout = 50ธุรกรรมนี้เสร็จสมบูรณ์โดยไม่มีข้อผิดพลาดหลังจาก 55 วินาที และถ้าคุณเพิ่มUPDATEก่อนSLEEPบรรทัดให้เริ่มต้นธุรกรรมครั้งที่สองจากลูกค้ารายอื่นที่พยายามSELECT ... FOR UPDATEแถวเดียวกันนั่นเป็นธุรกรรมที่สองที่หมดเวลาไม่ใช่รายการที่หลับไป สิ่งที่ฉันกำลังมองหาคือวิธีที่จะยุติการนอนหลับพักผ่อนของธุรกรรมนี้ อัปเดต 2 …
11 mysql  innodb 


5
“ เซิร์ฟเวอร์ MySQL หายไปแล้ว” เมื่อพยายามนำเข้าไฟล์ดัมพ์ขนาดใหญ่
ฉันกำลังพยายามนำเข้าไฟล์ดัมพ์ MySQL ไฟล์ถูกสร้างขึ้นบนเซิร์ฟเวอร์ Linux ฉันกำลังพยายามนำเข้าบน windows ฉันเข้าสู่บรรทัดคำสั่งแล้ววิ่ง: SOURCE c:/dump.sql แต่สิ่งนี้ดูเหมือนจะทำให้เกิดปัญหาชุดอักขระ (โดยเฉพาะกับเครื่องหมายคำพูดอัจฉริยะและเครื่องหมายวรรคตอนอื่น ๆ ที่ไม่ใช่มาตรฐาน) มันแนะนำให้ฉันที่ฉันทำงาน: mysql -u username -d dbase < c:\dump.sql เมื่อฉันลองทำสิ่งนี้ฉันจะได้รับข้อผิดพลาด ERROR 2006 (HY000) at line 149351: MySQL server has gone away googling เล็กน้อยแนะนำว่านี่เป็นสิ่งที่เกี่ยวข้องกับสวิตช์ max_allowed_packet แต่ฉันได้ลองแล้ว แต่มันก็ใช้ไม่ได้ มีใครรู้บ้างไหมว่ามันจะเป็นเช่นไร? หากใครมีข้อเสนอแนะเกี่ยวกับปัญหาชุดอักขระที่จะเป็นประโยชน์เช่นกัน
11 mysql 

3
การจำลองแบบ MySQL ข้ามเซิร์ฟเวอร์ที่แยกทางภูมิศาสตร์
องค์กรของฉันกำลังมองหาวิธีกระจายเซิร์ฟเวอร์ของเราไปทั่วบริเวณทางภูมิศาสตร์ในขณะที่สำรองข้อมูลให้ทันสมัยอยู่เสมอและกระจายการโหลดอย่างสมบูรณ์แบบ สิ่งแรกที่ฉันมีในใจคือ Rails บน MySQL อัตราการเขียนไม่สูงเกินไป (บทความ / ความคิดเห็นถูกทิ้งไว้ที่น้อยกว่า 1 ต่อนาทีแม้ว่าบางคนจะมีไฟล์แนบขนาดใหญ่) ดังนั้น, ทำซ้ำ MySQL ทำงานได้ดีในเครือข่ายบริเวณกว้าง? การเชื่อมต่อ (หรือทาสเซิร์ฟเวอร์) หยุดทำงานหมายความว่าต้องการการแทรกแซงด้วยตนเอง (เมื่อเซิร์ฟเวอร์สองเครื่องสามารถพูดคุยกันอีกครั้ง) หรือการกู้คืนอัตโนมัติ หากต้นแบบหายไปสิ่งที่จำเป็นในการเปลี่ยนทาสให้เป็นเจ้านายคืออะไร? มีสคริปต์ / เครื่องมือมาตรฐานที่จะช่วยจัดการหรือไม่ gotchas อื่น ๆ อื่น ๆ ?

5
ฉันจะสำรองฐานข้อมูลหลายกิกะไบต์ใน MySQL ได้อย่างไร คะแนนโบนัสสำหรับการคืนค่าที่เร็วขึ้น
ฉันมีฐานข้อมูล 4GB ใน MySQL ฉันจะสำรองข้อมูลได้อย่างไร นอกจากนี้มีวิธีที่ฉันสามารถเร่งกระบวนการกู้คืนในกรณีที่ฉันต้องการกู้คืนหรือไม่? ตอนนี้ฉันใช้งาน cron ทุกคืนที่โทรmysqldumpเพื่อทิ้งทุกอย่างและเก็บสำรองข้อมูล 3 วัน
11 mysql  backup 

2
ไม่พบที่อยู่ IP ส่วนตัวสำหรับอินสแตนซ์ Amazon-RDS ของฉัน
ฉันย้ายสถาปัตยกรรมฐานข้อมูล Master / slave ไปที่ Amazon RDS และทุกอย่างทำงานได้ดี แต่ฉันมีทาสจากบริการ RDS ซึ่งควรซิงค์กับเซิร์ฟเวอร์ Master ใหม่เพื่อให้ฉันต้องชี้ชื่อโดเมน DB ของฉัน master-db.myawsserver.com บนที่อยู่ IP ส่วนตัวของ Master (RDS) คอนโซล AWS ไม่ได้ให้ข้อมูลนี้และฉันเชื่อมต่อโดยตรงกับฐานข้อมูล MySQL

3
อะไรที่สำคัญกว่าสำหรับเซิร์ฟเวอร์ฐานข้อมูล Mem? ความเร็ว Mem คอร์?
ฉันกำลังจะย้ายเซิร์ฟเวอร์ฐานข้อมูลของฉันไปยังฮาร์ดแวร์ใหม่ที่ค่อนข้างดีกว่า เซิร์ฟเวอร์ฐานข้อมูลปัจจุบันไม่มีปัญหาใด ๆ ยกเว้นว่ากำลังเรียกใช้ Centos 4 ฮาร์ดแวร์ปัจจุบันคือ 2 quad core xeon 5335, 4 15K RPM ใน RAID 10 และ 4GB (ใช่จริงๆมันเป็นเพียง 4GB) ของหน่วยความจำ ตัวเลือกฮาร์ดแวร์ในงบประมาณของฉันแทบไม่มีความแตกต่างด้านราคาและจะมีฮาร์ดไดรฟ์ 4 15K RPM เดียวกันใน RAID 10 พวกเขาคือ: xeon 53 quad core 2 รุ่นพร้อม 8GB 533/667 2 hex core xeon 2620 พร้อม 16GB 1333 4 dual core …

4
Linux / mysql: ปลอดภัยไหมที่จะคัดลอกไฟล์ mysql db ด้วยคำสั่ง cp จากฐานข้อมูลหนึ่งไปยังอีกชุดหนึ่ง?
คู่มือส่วนใหญ่แนะนำ mysqldump และ SQL อย่างง่ายสำหรับการคัดลอกหนึ่งตารางไปยัง anoter db linux shell cp เป็นอย่างไร? ฉันสามารถทำได้ cp /db1/mytable.frm /db2/mytable.frm
11 linux  mysql  shell  copy 

4
เก็บรหัสผ่านไคลเอนต์ MySQL หรือรหัสผ่านการตั้งค่าน้อยกว่าการตรวจสอบ
ฉันกำลังใช้ไคลเอนต์บรรทัดคำสั่ง mysql และฉันไม่ต้องการให้รหัสผ่านทุกครั้งที่ฉันเริ่มไคลเอนต์ ตัวเลือกของฉันคืออะไร?
11 mysql 

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