メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

MySQLで接続エラー

 MySQLコマンドを実行すると...

これまで、普通に使えていた以下のコマンドが何故かエラーになるようになった。
Updateの影響だとは思うのだが…。

```
$ mysql -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
```

原因が分からない。

一応、ERRORメッセージで検索すると、同様なエラー報告はあるものの、どれを試しても動作しない。

で、仕方なくコマンドが通るマシンと、エラーを吐くマシンで比較しながら追ってみた。

まず、/tmp/mysql.sock が無いというので、作成する方法は所有権を変えようが、Permissionを変えようが、結局はだめ。

作成して実行すると、pidファイルが怪しい。
/var/lib/mysql/マシン名.pid
を生成するはずなのに、エラーが起きるマシンでは生成されていないことを突き止めた。

サービス起動のスクリプトの異常なのか?

と思いつつも、GUIツールから接続すると正常にDBに繋がり、問題なく操作できる。
SSHでtunnelすれば接続できるし…。

解決方法を見つけた!

そこで、mysqlコマンドのオプションを色々試して見ると…。

hostを指定すると動作することが判明

どうも、localhostが正常に解決できていない感じ…。

そこで、以下のように実行してみる

$ mysql --host=127.0.0.1 -p

すると、正常に動作することが判明!
毎回記述するのは手間なので、aliasを設定する。

.bashrc もしくは .bash_aliasesに以下のように記述。

alias mysql='mysql --host=127.0.0.1'

これで、OK

これまで通り、mysql -pと叩けば正常に動作する。


そのうち、スクリプトが修正されるかもしれないので、本体をいじるより安全に運用できるので良し!



苦戦している人は、試してみると良きです。

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ