ฉันจะลบ mysql-server บน Debian ได้อย่างไร


13

ฉันคิดว่าฉันจะแบ่งปันคำถามของฉันที่นี่แล้วตอบเพราะดูเหมือนจะมีหลายคนติดอยู่ในตำแหน่งของฉัน - แต่ไม่มีคำตอบที่ชัดเจน ปัญหาคือถ้าคุณได้รับลบ mysql-server มันไม่ได้ทำความสะอาดไฟล์การกำหนดค่าและฐานข้อมูลดังนั้นถ้าคุณเมาพวกเขาอย่างใดแล้วติดตั้งอีกครั้งจะไม่แทนที่พวกเขา ดูเหมือนว่ามีหลายคนถามว่า "ฉันจะลบ mysql-server ได้อย่างสมบูรณ์เพื่อที่ฉันจะได้ติดตั้งใหม่ได้อย่างไร" - ทุกคนตอบด้วยapt-get remove --purge mysql-server- ฉันไม่แน่ใจว่าทำไม แต่นี่ไม่ได้ถอนการติดตั้งอย่างสมบูรณ์ คำตอบของฉันติดตาม ...

คำตอบ:


19

การลบ mysql-server ไม่ทำงานเพราะ mysql-server เป็นเพียง metapackage ที่ขึ้นอยู่กับรุ่นของเซิร์ฟเวอร์ที่ระบุ

apt-get remove --purge 'mysql-.*'

หรือ

apt-get remove --purge 'mysql-server.*'

จะทำเคล็ดลับ


ขอบคุณสำหรับทิป. ฉันไม่รู้ว่าสามารถใช้สัญลักษณ์แทนได้
Nick Bolton

มันคือการแสดงออกปกติดังนั้น '. *' แทนที่จะเป็นธรรมดา ' ' ถ้าคุณพยายามที่จะลบ mysql-มันจะจับคู่เฉพาะแพ็คเกจที่ชื่อว่า mysql ----------- ซึ่งไม่เป็นประโยชน์มาก :-)
Justin

ตามที่ระบุไว้ด้านล่างคุณจะต้องระวัง mysql-common ซึ่งใช้โดยบิตและชิ้น (dovecot Springs ถึงใจ)
Frenchie

1
โอ้ใช่ regex ไม่ใช่สัญลักษณ์แทน - โอ๊ะโอ!
Nick Bolton

ฉันติดตั้ง mysql 5.5 บน jessie raspbian ของฉันแล้ว หลังจากอัปเกรดฉันไม่ทราบสาเหตุ แต่ถูกทิ้งไว้ไม่ถูกต้องซึ่งทำให้ไม่สามารถถอนการติดตั้งได้อย่างถูกต้อง คำตอบของคุณไม่ได้ลบเซิร์ฟเวอร์ mysql 5.5 ทั้งหมดและฉันสามารถอัปเดตได้ ระวังคุณจะสูญเสียไฟล์ config (datyabases?) หากคุณไม่ทำการสำรองข้อมูล
russellhoff

2

สิ่งนี้ใช้ได้สำหรับฉัน (ฉันได้ลองติดตั้ง v5.0 ด้วย แต่มันทำให้เรื่องแย่ลง):

apt-get remove --purge mysql-server-5.0 mysql-common mysql-client-5.0 \
mysql-server-5.1 mysql-client-5.1 mysql-server mysql-client

apt-get install mysql-server

ฉันคิดว่ากุญแจที่นี่กำลังนำออกmysql-common- แต่ฉันไม่แน่ใจ โปรดลองและแสดงความคิดเห็นของคุณ


หากคุณใช้ 5.0 ขึ้นไปapt-get purge ...จะเหมือนกับapt-get --purge remove ...
Zoredache

1

ฉันมีปัญหาบางอย่างกับสิ่งนั้น แม้ว่าหลังจากการลบทุกแพคเกจเซิร์ฟเวอร์มีบาง config ไฟล์ติดตั้งโดยซึ่งเป็นพึ่งพาของmysql-commonlibmysqlclient

ลองใช้dpkg -S /etc/mysqlเพื่อดูแพ็คเกจที่กำลังติดตั้งไฟล์เหล่านั้น


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