1. 程式人生 > >Ubuntu環境下MySql解除安裝與配置問題

Ubuntu環境下MySql解除安裝與配置問題

今天忙活了一整天的MySql的配置,原因主要是對MySql的配置檔案中的 datadir 及 socket的選項修改不當造成的。出現故障時,並沒有想到要記錄下故障資訊,因此,在這裡大致還原下。
首先,我作死地更改my.cnf(實際上由於版本問題,配置檔案其實在/etc/mysql/mysqld.conf/ 目錄下,而不是以往的my.cnf),因此,我首先選擇了關閉MySql的service(大概是我第一次的作死嘗試)。
命令:

service mysql stop
關閉之後,通過shell修改my.cnf中的datadir與socket選項。並且,又覺得麻煩沒有仔細看修改啟動項的說明,(現在想想,問題可能一開始出現在了這裡。)在修改完之後,我重現要開啟mysql的時候傻眼了。首先是錯誤地使用:
mysql -u root -p
來connect 一個關閉了的server。當然提示錯誤,大致是說無法建立 xxx.sock。在這一步,我又嘗試通過chown 等命令來修改資料夾的許可權問題,如:
chown -R mysql:mysql /var/lib/mysql

或者
chgrp -R mysql /var/lib/mysql(d)

等。(第二步作死)
最後反應過來,是沒有開啟server的原因。於是,
service mysql start
仍然存在問題,按照失敗資訊的提示,systemctl xxx什麼的也沒有得到什麼有效的資訊。於是去查錯誤的log。
查log的方法是,
sudo /usr/sbin/mysqld
有兩個error分別是move datadir失敗 和另外一個建立失敗。這時候就明白是配置的時候的問題了。
於是又是一通修改配置,修改許可權。最後仍舊是不能起作用。service mysql status(start)都用爛了也沒有好轉。然後在這段嘗試中,由刪了一些dir 和 file。(作死3)
一番折騰後,心灰意冷,只能準備解除安裝mysql重新安裝,本來認為解除安裝應該很方便了吧,結果並,沒有。(之前做的死,都是腦子進的水。)google到解除安裝指令分別是
sudo apt-get remove mysql-server-5.xx
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common 
前面三個指令都沒有問題,問題出現在第四個,在最後一步remove時,出現了依賴性的問題,大致是說mysql 存在一些依賴性問題,設定又保持不能更改。
通過強行刪除了whereis mysql 和 whereis mysqld提示中的dir與file。
我開始重新安裝,
sudo apt-get install mysql-server mysql-common
果然依賴性問題重新出現,還有一個尚未配置的問題。
只能認為是卸載出現了問題,並且解除安裝不乾淨。
接著找到了一篇有用的總結:
sudo dpkg --remove mysql-server
sudo apt-get purge -f mysql-server mysql-common
sudo apt-get install mysql-server mysql-common 
通過這幾個指令結合手動刪除 :/var/lib/mysql與/etc/mysql
之後重新安裝就很順利了。