LoginSignup
2
1

More than 5 years have passed since last update.

Ubuntu 16.04上でMySQLサーバーを設定含めて完全消去する話

Last updated at Posted at 2017-12-11

MySQLの初期化

MySQLを完全初期化する方法というものが、世の中には伝わっているようだ。
まずサーバーの停止。

$ killall mysqld

その上で、mysqld/の全消去。

$sudo rm -rf /var/lib/mysqld/

そして初期化。

$sudo su - mysql
$mysql --initialize --datadir=/var/lib/mysql --user=mysql

とすると良いそうだ。しかしこの方法では、my.cnfに書いてある設定情報がそのまま初期化時に使われてしまう。

設定情報まで消す

この時点でかなりやばめな雰囲気が漂っているがこの話は、そのとおり真似しないでいただきたい失敗例だ。言われなくても大体の人は真似しないと思う。

mysqlの設定情報は/etc/mysql/my.cnfなどに書いてある。これを消してしまった。つまり

$sudo rm -rf /etc/mysql/*

してしまった。その上でmysql-serverをパージして再インストールすればええやろ!とか考えてノリで実行してしまった結果1時間近く溶かしてしまった。とにかく頭の悪い話だ・・・。

このまま

$sudo apt-get purge mysql-server
$sudo apt autoremove

の後に、

$sudo apt-get install mysql-server

とすると消してしまった設定ファイルの依存関係の問題から設定できないよー、と言われてしまう。当たり前っちゃあ当たり前。

諸事情でmy.cnfを消しちゃった場合

ほんとにすべての依存関係からMySQLを消し去ってしまえばよい(頭が悪い)

$sudo apt-get remove --purge mysql-*
$sudo apt-get install mysql-server mysql-client

とすれば、mysql-serverを最初にUbuntuマシンに入れたときの気持ちになれる。

参考

mysqlの初期化方法
Having trouble installing and removing MySQL in Ubuntu

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1