在mac osx10.6下安装mysql后,启动总是报错ERROR 2002 (HY000): Can't connect to local MySQL ser

要在mac10.6下安装mysql以便rails开发,装了两天都没有成功。之前没用过mac或linux开发,一直用windows,所以希望高手们能指点一下。
我在安装时参考了以下文章:
http://beike.iteye.com/blog/617341
http://hqman.iteye.com/blog/258979
下面是我的安装过程及错误:
安装和初始化mysql
Java代码   收藏代码
  1. port search mysql  
  2. sudo port install mysql5-server  
  3. ###########################################################  
  4. # A startup item has been generated that will aid in  
  5. # starting mysql5-server with launchd. It is disabled  
  6. # by default. Execute the following command to start it,  
  7. # and to cause it to launch at startup:  
  8. #  
  9. # sudo port load mysql5-server  
  10. ###########################################################  
  11. --->  Installing mysql5-server @5.1.50_0  
  12. ******************************************************  
  13. * In order to setup the database, you might want to run  
  14. * sudo -u _mysql mysql_install_db5  
  15. if this is a new install  
  16. ******************************************************  
  17. --->  Activating mysql5-server @5.1.50_0  
  18. --->  Cleaning mysql5-server  


Java代码   收藏代码
  1. sudo  /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql  
  2. Installing MySQL system tables...  
  3. OK  
  4. Filling help tables...  
  5. OK  
  6.   
  7. To start mysqld at boot time you have to copy  
  8. support-files/mysql.server to the right place for your system  
  9.   
  10. PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !  
  11. To do so, start the server, then issue the following commands:  
  12.   
  13. /opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password'  
  14. /opt/local/lib/mysql5/bin/mysqladmin -u root -h bogon password 'new-password'  
  15.   
  16. Alternatively you can run:  
  17. /opt/local/lib/mysql5/bin/mysql_secure_installation  
  18.   
  19. which will also give you the option of removing the test  
  20. databases and anonymous user created by default.  This is  
  21. strongly recommended for production servers.  
  22.   
  23. See the manual for more instructions.  
  24.   
  25. You can start the MySQL daemon with:  
  26. cd /opt/local ; /opt/local/lib/mysql5/bin/mysqld_safe &  
  27.   
  28. You can test the MySQL daemon with mysql-test-run.pl  
  29. cd /opt/local/mysql-test ; perl mysql-test-run.pl  
  30.   
  31. Please report any problems with the /opt/local/lib/mysql5/bin/mysqlbug script!  

配置mysql:
开机自动启动mysql
Java代码   收藏代码
  1. sudo  launchctl load -w  /Library/LaunchDaemons/org.macports.mysql5.plist   

启动mysql
如果要快捷启动,则要先设置aliases,再用aliases来启动:
mate ~/.profile打开这个配置文件,输入以下内容:
Java代码   收藏代码
  1. alias mysqlstart='sudo /opt/local/bin/mysqld_safe5 &'    
  2. alias mysqlstop='/opt/local/bin/mysqladmin5 -u root -p shutdown'  

启动mysql
Java代码   收藏代码
  1. mysqlstart  
  2. [162478  

如果没有设置aliases,则用以下命令来启动
/opt/local/share/mysql5/mysql/mysql.server start

验证mysql安装成功:
Java代码   收藏代码
  1. mysqladmin5 -u root -p ping  
  2. error: 'Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (2)'  
  3. Check that mysqld is running and that the socket: '/opt/local/var/run/mysql5/mysqld.sock' exists!  


Java代码   收藏代码
  1. mysql5 -u root –p  
  2. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (2)  

mate /opt/local/etc/mysql5/my.cnf并输入以下内容(参考http://beike.iteye.com/blog/617341):
Java代码   收藏代码
  1. [mysqld_safe]  
  2. socket = /tmp/mysql.sock  

再调用 mysql5 -u root –p还是报相同错误。


问题补充:
引用
试一下用这个命令能否连接:
Java代码   收藏代码
  1. mysql5 -u root –p -h 127.0.0.1  

我用这个命令就可以连接成功了,但如果不加-h 127.0.0.1就会报我的贴子中的错误,请问是什么原因?通过你提供的命令连接上去的应该也是一样使用的吧?是不是我以后用这个命令来连接就可以啦?

引用
如果能连接,使用这个命令看看socket到底是什么?
Java代码   收藏代码
  1. show variables like 'socket';  


socket是:
Java代码   收藏代码
  1. mysql> show variables like 'socket';  
  2. +---------------+-----------------+  
  3. | Variable_name | Value           |  
  4. +---------------+-----------------+  
  5. | socket        | /tmp/mysql.sock |   
  6. +---------------+-----------------+  
  7. 1 row in set (0.03 sec)  


我调用这个命令得到的结果跟你的一样。

你可能感兴趣的:(数据库)