انجمنهای فارسی اوبونتو
کمک و پشتیبانی => شبکه و سرویس دهندهها => نویسنده: senejani در 28 شهریور 1386، 04:35 بظ
-
من سعی کردم تا با کمک این http://www.howtoforge.org/virtual_postfix_mysql_quota_courier (http://www.howtoforge.org/virtual_postfix_mysql_quota_courier) یه میل سرور راه بندازم ولی در پایان وقتی میخوام از طریق squirrelmail لاگین کنم error میده که Connection dropped by IMAP server. و در mail.log هم error میده که:
warning: Can't connect to MySQL server on '127.0.0.1' (111)
warning: B4A8B148191: virtual_alias_maps map lookup problem for
Error writing message file
حتی با mutt هم نمیتونم چیزی بفرستم یا بگیرم.
خیلی توی اینترنت گشتم ولی نتونستم حلش کنم.
-
سلام،
ظاهرا مشکل این هست که Courier-IMAP نمی تونه به MySQL وصل بشه. بررسی کن که خدمت MySQL به درستی اومده باشه بالا.
-
سلام ابراهیم جان!
آره mysql بالاست، حتی میتونم با یوزر و پسورد mail_admin از طریق خط فرمان بش وصل بشم.
حالا اگه مشکل از mysql هم باشه، پس چرا نمیتونم حتی با mutt هم email بفرستم؟
-
یعنی هم با POP3 مشکل دارید و هم با IMAP ؟
-
شاید مشکل از این باشه که Postfix در یک محیط chroot اجرا میشه و به socket مربوط به MySQL دسترسی نداره. مطمئن شو که برای اتصال به MySQL، دقیقا نشانی 127.0.0.1 رو دادی (و نه localhost رو!). اگر مشکل حل نشد، Postfix رو از chroot در بیار ببین مشکل حل میشه یا نه.
-
آره آقا مهدی، فکر کنم هر دو مشکل داشته باشند.
نه ابراهیم جان، نمیتونم به 127.0.0.1 وصل بشم و نمیدونم چرا وقتی میزنم netstat -na |grep 3306 چیزی نمییاد (با اینکه پورتش همونه)!
chroot را هم برای smtp در فایل etc/postfix/master.cf به no تغییر دادم ولی توفیقی نکرد!
-
خوب پس مشکل معلوم شد دیگه!!! MySQL بالا نیست! حالا باید ببینی چرا. خدمت MySQL رو restart کن ببین چی میگه:
$ sudo /etc/init.d/mysql restart
و مطمئن شو که موقع boot این خدمت خودش میاد بالا. (مثلا با ابزار rcconf یا از منوی سیستم گنوم)
-
نه ابراهیم جان! MySQL بالاست، گفتم که میتونم به localhost هم وصل بشم.
فقط نمیتونم به 127.0.0.1 وصل بشم (با اینکه bind-address=127.0.0.1 در my.cnf هست).
-
به 127.0.0.1 دسترسی دادید؟
mysql -p -u mehdi -h 127.0.0.1 mysql
grant all privileges on *.* to mehdi@127.0.0.1 identified by 'mehdi' with grant option;
flush privileges;
با فرض اینکه کاربر mehdi رو تو MySQL داشته باشید...
-
نه!
ولی به localhost دارم.
-
با اینکه پورت mysql را در my.cnf روی 3306 set کردم اما نمیدونم چرا پورت را تغییر میده به یه چیز دیگه!
-
یعنی میتونی مثلا با این دستور به MySQL وصل بشی:
$ mysql -u felan -p
ولی نمیتونی با همچین چیزی وصل بشی:
$ mysql -h 127.0.0.1 -u felan -p
؟
اگر این طوره بیزحمت پیغامی که میده رو بنویس.
اگر این طور نیست، دو تا سناریو که یکیشون وصل میشه و دیگری وصل نمیشه رو با پیغاماشون بنویس.
-
آره دقیقاً!
به localhost که وصل میشه و همون پیغامهای معمولی را نمایش میده.
پیغامش در جواب به وصل شدن به 127.0.0.1 اینه:
ERROR 2003 (HY000): Can't connect to MySql server on '127.0.0.1' (111)
-
عجیبه!
مطمئن شو که:
۱) MySQLت آخرین نسخهی توی مخازن هست.
۲) توی my.cnf شمارهی port رو زدی 3306 و bind-address رو زدی 127.0.0.1 (میدونم گفتی همینه، ولی دوباره چک کن!)
-
1)
root@www:~# mysql --version
mysql Ver 14.12 Distrib 5.0.22, for pc-linux-gnu (x86_64) using readline 5.1
2) آره دوباره چک کردم و دقیقاً همونه.
-
bind-address رو عوض کن ببین چی میشه! مثلا 0.0.0.0, 127.0.1.1 و IPی کارت شبکهت رو امتحان کن و ببین به اونها میتونی وصل شی یا نه. (یادت نره خدمت MySQL رو restart کنی)
-
تقریباً هیچ فرقی نمیکنه!
یعنی به IP کارت شبکه هم که میخوام وصل شم دقیقاً همون پیغام را میده.
برای جلوگیری از تغییر پورت mysql راه حلی ندارین؟
-
آخه یعنی چی؟ MySQL خودش portش رو از 3306 میبره به چیز دیگه؟!؟ بعیدهها!!!
برو شمارهی درگاه رو خودت عوض کن (مثلا بزن 3307) ببین میتونی بهش وصل شی یا نه.
راستی از کجا میگی MySQL شمارهی پورتش رو عوض میکنه؟
-
1)پورت را عوض کردم و طبق معمول تونستم به localhost وصل بشم، اما به 127.0.0.1 نه.
2)با دستور netstat -na |grep 3306
هیچی در جواب نمیاد (در صورتی که mysql هم بالاست)!
-
مشکل پورت و mysql حل شد:
یه خطی هست در my.cnf به نام skip-networking که با commentدار کردن اون حالا دیگه میتونم به 127.0.0.1 هم وصل بشم. :)
حالا وقتی میخوام از طریق squirrelmail به inbox کاربرهایی که ساختم وارد بشم در mail.log گزارش میده:
imaplogin: chdir Maildir: No such file or directory