ไม่สามารถติดตั้ง mysql-server ใน Ubuntu


17

ฉันไม่สามารถติดตั้ง mysql-server บนเครื่องเซิร์ฟเวอร์ ubuntu 9.10 ของฉัน เมื่อใช้ apt-get install mysql-server ผลลัพธ์คือ:

# apt-get install mysql-server

Reading package lists... Done
Building dependency tree
Reading state information... Done

mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded.
2 not fully installed or removed.

After this operation, 0B of additional disk space will be used.
Setting up mysql-server-5.1 (5.1.37-1ubuntu5.4) ...
* Stopping MySQL database server 
    Mysqld    [ OK ]
* Starting MySQL database server 
mysqld [fail]

invoke-rc.d: initscript mysql, action "start" failed.

dpkg: error processing mysql-server-5.1 (--configure):

subprocess installed post-installation script returned error exit status 1

dpkg: dependency problems prevent configuration of mysql-server:

mysql-server depends on mysql-server-5.1; however:
Package mysql-server-5.1 is not configured yet.

dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured

No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.1
mysql-server  
E: Sub-process /usr/bin/dpkg returned an error code (1)

ฉันไม่สามารถหาทางออกที่น่าพอใจสำหรับปัญหานี้ได้ทุกที่ เว็บไซต์หลายแห่งบอกให้ติดตั้งใหม่ แต่มันไม่ทำงาน

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม.

ขอขอบคุณ..


ลองใช้ความถนัดบ้างไหม? ความถนัดติดตั้ง mysql-server-5.1
Chris_O

ใช่ .. พยายามเช่นนั้นด้วยความผิดพลาดเดียวกัน
Arihant

มีอาการคล้ายกันมากในการติดตั้ง mysql-server เมื่อพอร์ต 3306 ถูกใช้โดยอุโมงค์ SSH เอาในขณะที่จะแจ้งให้ทราบล่วงหน้าจะไม่คาดหวังอะไรเช่นนั้นจะทำลายแพคเกจติดตั้ง ...
famousgarkin

คำตอบ:


26

สิ่งนี้ใช้ได้กับฉัน:

apt-get purge mysql-server
apt-get purge mysql-common
rm -rf /var/log/mysql
rm -rf /var/log/mysql.*
rm -rf /var/lib/mysql
rm -rf /etc/mysql
# and then:
apt-get install mysql-server --fix-missing --fix-broken

แม้ว่ามันจะลบการพึ่งพาทั้งหมดใน mysql

และมันจะลบฐานข้อมูลที่มีอยู่สำรองก่อน!

แหล่ง


+1 ก็ใช้ได้เหมือนกันสำหรับฉัน!
Chris McCauley

ทำงานบน Ubuntu 12.04 LTS และ MySQL 5.5.34
กรอบ

+1 ก็ทำงานให้ฉันด้วย ฉันพยายาม apt-get purge mysql-server แต่ไม่ได้ทำการล้าง aq-mysql-common และไม่ทำงาน ขอบคุณ
Davide Vernizzi

2
คำเตือน: นี่เป็นการลบฐานข้อมูลทั้งหมดของคุณสำรองข้อมูลก่อน!
Panthro

1
มันได้ผลขอบคุณ เมื่อมันไม่ทำงานฉันไม่รู้ว่าทำไมมันไม่ทำงาน เมื่อใช้งานได้ฉันไม่รู้ว่าทำไมมันถึงทำงานเช่นกัน
Qian Chen

5

คำแนะนำเล็กน้อย:

  • ชัดเจนยิ่งขึ้นตรวจสอบให้แน่ใจว่าคุณกำลังใช้งานรูทอยู่
  • ลองทำapt-get ลบ MySQL
  • จากนั้นลองทำการล้าง apt-get (คุณอาจต้องล้าง apt-get mysqlบางครั้งความถนัดสามารถเลือกได้)
  • ตรวจสอบบันทึกของคุณเสมอ พวกเขามักจะถือคำตอบสำหรับเกือบทุกอย่าง
  • ยังพยายามทำapt-get ล้างแคชและapt-get สะอาด จากนั้นลองติดตั้งอีกครั้ง

หรือลองวิธีแก้ปัญหานี้ฉันพบใน google:

แพ็คเกจ mysql-server-5.1 พยายามที่จะเริ่ม MySQL หลังจากติดตั้งแพคเกจซึ่งล้มเหลว สิ่งแรกที่คุณต้องทำคือเสร็จสิ้นกระบวนการติดตั้งให้เรียบร้อย มีหลายวิธีในการทำสิ่งนี้:

แก้ไขการกำหนดค่า MySQL ของคุณตรวจสอบว่า /etc/init.d/mysql-server ทำงานและเรียกใช้ dpkg --configure -a เพื่อเสร็จสิ้นกระบวนการติดตั้ง หรือแก้ไข /var/lib/dpkg/info/mysql-server-5.1.postinst และลบส่วนที่เริ่มเซิร์ฟเวอร์ (อาจเรียก /etc/init.d/mysql-server เริ่มแล้ว) จากนั้นเปิด dpkg - กำหนดค่า -a เพื่อเสร็จสิ้นกระบวนการติดตั้งแล้วแก้ไขการกำหนดค่าของคุณ


1
เห็นด้วยกับคำแนะนำในการกำจัดการติดตั้ง & ลองใหม่
jamespo

สิ่งที่ใช้งานได้ !!
Arihant

2

MySQL ล้มเหลวในการเริ่มต้น เหตุผลที่สิ่งนี้เกิดขึ้นควรเข้าสู่ระบบใน /var/log/mysql.log (หรือยังเป็น /var/lib/mysql/.err?) คุณช่วยแปะเอาท์พุทจากตรงนั้นและบางทีเราสามารถหาว่ามีอะไรผิดพลาด


/var/log/mysql.err และ /var/log/mysql.log ทั้งสองไฟล์ว่างเปล่า
Arihant

ต่อไปนี้เป็นผลลัพธ์ของ /usr/local/mysql/clc.err file.clc เป็นชื่อโฮสต์ 20:50:31 mysqld_safe เริ่มต้น mysqld daemon กับฐานข้อมูลจาก / var / lib / mysql 110402 20:50:31 [คำเตือน] ไม่สามารถ สร้างไฟล์ทดสอบ /var/lib/mysql/clc.lower-test 110402 20:50:31 [คำเตือน] ไม่สามารถสร้างไฟล์ทดสอบ /var/lib/mysql/clc.lower-test 110402 20:50:31 [ข้อผิดพลาด ] ข้อผิดพลาดร้ายแรง: ไม่สามารถเปลี่ยนให้ทำงานในฐานะผู้ใช้ 'mysql'; โปรดตรวจสอบว่ามีผู้ใช้อยู่! 110402 20:50:31 [ข้อผิดพลาด] ยกเลิก 110402 20:50:31 [หมายเหตุ] / usr / sbin / mysqld: ปิดระบบเสร็จสมบูรณ์ 110402 20:50:31 mysqld_safe mysqld จากไฟล์ pid /var/lib/mysql/clc.pid
Arihant

อาจเป็น 1) ไม่มีผู้ใช้ mysql หรือ 2) / var / lib / mysql ไม่ได้เป็นเจ้าของโดยผู้ใช้ mysql? ถ้า 2) อย่าลืม chown -R
Bittrance

นี่คือรายการไฟล์ / etc / passwd: 'mysql: x: 118: 128: เซิร์ฟเวอร์ MySQL ,,,: / var / lib / mysql: / bin / false' ผมได้ทำมาแล้วchown -R MySQL / var / lib / MySQL ..
Arihant

นี่คือผลลัพธ์ของ: apt-get purge mysql-server `* การหยุดเซิร์ฟเวอร์ฐานข้อมูล MySQL mysqld * การเริ่มต้นเซิร์ฟเวอร์ฐานข้อมูล MySQL mysqld [ล้มเหลว] invoke-rc.d: initscript mysql การกระทำ" เริ่มต้น "ล้มเหลว dpkg: การประมวลผลข้อผิดพลาด mysql-server-5.1 (--configure): การติดตั้งกระบวนการโพสต์หลังการติดตั้งสคริปต์กลับสถานะข้อผิดพลาดออก 1 E: กระบวนการย่อย / usr / bin / dpkg กลับรหัสข้อผิดพลาด (1) ` ฉันไม่เข้าใจว่าทำไม มันเริ่มต้นบริการ mysql-server เมื่อฉันลบมัน
Arihant

1

เปิดคอนโซลอื่นป้อน ps aux | grep mys

และฆ่าสิ่งที่มีลักษณะเช่นนี้:

egrep -qi ... /etc/mysql/

สิ่งนี้จะทำให้การติดตั้งเสร็จสมบูรณ์

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