ฉันจะถอนการติดตั้ง MySQL ได้อย่างไร


คำตอบ:


256

ในการลบ mysql ออกจากระบบของคุณอย่างสมบูรณ์เพียงแค่พิมพ์เทอร์มินัล

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean

1
ฉันเดาว่ามันจะไม่ทำงาน หลังจากที่ฉันทำตามขั้นตอนเหล่านี้แล้วฉันก็ลอง: sudo apt-get install mysql-client-core-5.5. แต่มันแสดงให้เห็นว่า: mysql-client-core-5.5 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 97 not upgraded.. นั่นหมายความว่ายังมี mysql อยู่ในพีซีของฉันใช่ไหม
แบทแมน

ลอง sudo dpkg --purge mysql-server mysql-client mysql-common
Ketan Patel

1
ถ้าฉันลองsudo dpkg --purge mysql-server mysql-client mysql-commonฉันจะได้รับ: dpkg: warning: there's no installed package matching mysql-server dpkg: warning: there's no installed package matching mysql-client dpkg: warning: there's no installed package matching mysql-common . ตอนนี้ฉันสับสนเล็กน้อย นั่นเป็นสิ่งที่mysqlถูกลบออกหรือไม่?
แบทแมน

4
สิ่งนี้ไม่เพียงพอสำหรับฉันต้องทำบางสิ่งเพิ่มเติม: stackoverflow.com/a/16178696/447661
Mihai Rotaru

3
นี่ยังไม่เพียงพอสำหรับฉัน - สำหรับฉันคำตอบที่นี่แทนที่จะใช้งานได้เช่น: stackoverflow.com/a/16178696/368896
Dan Nissenbaum

64

วิธีแก้ไขทั้งหมดข้างต้นนั้นถูกต้อง แต่ฉันจะลองด้วย

sudo apt-get remove --purge mysql *
sudo apt-get autoremove
sudo apt-get autoclean

สิ่งนี้จะถอนการติดตั้งแพ็คเกจที่เกี่ยวข้องกับ mysql ทั้งหมด


10
นี่เป็นวิธีที่ง่ายที่สุด / ง่ายที่สุดในการกำจัดทุกสิ่งที่เกี่ยวข้องกับ MySQL แม้ว่าไวด์การ์ดที่นี่จะตรงกับแพ็คเกจใด ๆ กับ 'mysq' ในชื่อของมันดังนั้นคุณอาจต้องการระบุsudo apt-get remove --purge -s 'mysql*'ให้เฉพาะเจาะจงมากขึ้น
geerlingguy

ประการที่สองในการใช้ regex เฉพาะเจาะจงมากขึ้น ฉันลงเอยด้วยการใช้ regex ของ '^ mysql- ' ตอนแรกฉันจะเรียกใช้ mysqlแต่พบว่ามันมีเนื้อหาที่ไม่เกี่ยวข้องมากมาย ... เช่น: หมายเหตุเลือก 'mysql-testsuite' สำหรับ regex '^ mysql * 'หมายเหตุเลือก' mysql-server 'สำหรับ regex' ^ mysql * 'หมายเหตุเลือก' mysql-server-core 'สำหรับ regex' ^ mysql * 'หมายเหตุเลือก' mysqmail 'สำหรับ regex' ^ mysql * 'หมายเหตุเลือก' mysqmail-pure-ftpd-logger 'สำหรับ regex' ^ mysql * '
MaasSql

ฉันลองคำสั่งทั้งหมดที่ระบุไว้ที่นี่และหลังจากนั้นถ้าฉันพิมพ์ 'mysql' ลงในเทอร์มินัลแล้วกดแท็บสองครั้งฉันก็ยังเห็นตัวเลือกบางอย่างเกิดขึ้นสำหรับ mysql นี่หมายความว่าอะไร? > mysql mysqld mysql_upgrade mysqlcheck mysql_install_db
GoProCameraByGoPro

สิ่งนี้ใช้ได้สำหรับฉันเท่านั้นเมื่อฉันใช้ sudo apt-get -f autoremove
Simon D

นี่ทำให้ฉันมีข้อผิดพลาดสองอย่างเช่น `E: ไม่สามารถหาแพ็คเกจ mysql 'ได้ การติดตั้งของฉันดูเหมือนจะสับสนเล็กน้อย และมันก็น่ากลัวที่ฉันไม่สามารถแม้แต่จะติดตั้งใหม่
Blauhirn

24

สิ่งนี้จะลบ mysql 5.6 ออกจาก Ubuntu 15.04

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql

1
การลบไดเรกทอรีด้วยตนเองดูเหมือนจำเป็นสำหรับฉัน (ดังนั้น +1) อาจเป็นเพราะไดเรกทอรีของฉันเป็นลิงก์สัญลักษณ์?
Jonathan

1
ฉันรู้สึกเหมือนผู้ประกาศข่าวของคุณมีความรัดกุมมากที่สุดดังนั้นฉันจึงต้องการแสดงความคิดเห็นที่นี่ ฉันทำสิ่งที่คล้ายกันกับมาเรียบ แต่ฉันสังเกตเห็นว่าฉันมีบริการระบบห้อยต่องแต่ง ฉันต้องลบออกโดยใช้: superuser.com/a/936976/260852
Mario Olivio Flores

1
ขอบคุณสิ่งนี้ยังใช้งานได้กับ mysql 5.7 บน Ubuntu 16.04
tate

6

ก่อนอื่นคุณต้องหยุดเซิร์ฟเวอร์ mysql ของคุณไม่ให้บริการ

sudo service mysql stop

จากนั้นคุณสามารถใช้คำสั่งกำจัดเพื่อถอนการติดตั้ง

sudo apt-get purge mysql-server mysql-client

หมายเหตุ:ข้างต้นขึ้นอยู่กับรายการแพคเกจของคุณ ฉันได้ติดตั้งทั้งเซิร์ฟเวอร์และไคลเอนต์ นี้จะให้คุณ convineient


การหยุดบริการ MySQL เป็นสิ่งสำคัญสำหรับฉัน ฉันได้มันทำงานและได้รับข้อผิดพลาด: dpkg: unrecoverable fatal error, aborting: fork failed: Cannot allocate memory E: Sub-process /usr/bin/dpkg returned an error code (2) หยุด MySQL แล้วทำงาน sudo dpkg --configure -a ตามด้วย sudo apt-get remove --purge mysql* ทำงานให้ฉัน
tww0003

4

ฉันไม่ได้ใช้ Ubuntu มากนัก แต่สิ่งที่ฉันคิดว่าคุณควรลองคือสิ่งที่ฉันทำ

ฉันพิมพ์สิ่งนี้ครั้งแรกในบรรทัดคำสั่ง: sudo apt-get remove --purge mysql-server mysql-client mysql-common,

จากนั้นตามด้วยสิ่งนี้ด้านล่าง: sudo apt-get autoremove

sudo apt-get autocleanและในที่สุดก็พิมพ์นี้:

ฉันพบว่ามันถูกลบออก


3

ฉันลืมรหัสผ่านรูท MySQL และจำเป็นต้องรีเซ็ต ฉันลองสิ่งนี้แต่มันใช้งานไม่ได้เพราะมันพูดว่า "ไม่สามารถเขียนบันทึก" หรืออะไรทำนองนั้น

ทางออกของฉันคือการลบ MySQL ออกจาก Ubuntu 13.10 และการติดตั้งใหม่ทั้งหมด

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo rm -rf /var/lib/mysql

ฉันต้องเรียกใช้คำสั่งสุดท้ายเพราะบางครั้งอูบุนตูยังคง libs อยู่บ้างแม้คุณจะพยายามกำจัดพวกเขาทั้งหมด

ตอนนี้ฉันใช้คำสั่งนี้เพื่อติดตั้งเซิร์ฟเวอร์ MySQL และไคลเอนต์:

sudo apt-get install mysql-client mysql-server

1

เมื่อฉันลองsudo apt-get purge mysql*มันไม่ทำงาน

ล้างmysql5ด้วย:

sudo apt-get purge mysql-*

จากนั้นสำหรับการทำความสะอาด:

sudo apt-get autoremove
sudo apt-get autoclean

0

ถอนการติดตั้ง mysql อย่างสมบูรณ์:

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql*
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld ~/.mysql_history
updatedb

ตามคำตอบนี้และอื่น ๆ อีกมากมาย ...


0

ลองสิ่งนี้มันจะทำการลบไฟล์ของ MySQL ทั้งหมดออกจากระบบของคุณ:

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser -f mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.7
sudo apt-get purge mysql-client-core-5.7
sudo rm -rf /var/log/mysql
sudo rm -rf /etc/mysql
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.