无法通过socket'/tmp/mysql.sock'连接到本地MySQL服务器(2)

Ava*_*Ava 32 mysql terminal mysql.sock rvm osx-lion

我想在我的终端上运行mysql客户端.我已经安装了最新的mysql gem.

 ?  ~ git:(master) ? ruby -v
    ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
    ?  ~ git:(master) ? rails -v
    Rails 2.3.14
    ?  ~ git:(master) ? which mysql
    mysql: aliased to nocorrect mysql
    ?  ~ git:(master) ? which ruby
    /usr/bin/ruby
    ?  ~ git:(master) ? which rails
    /usr/bin/rails
    ?  ~ git:(master) ? gem list

*** LOCAL GEMS ***

actionmailer (2.3.14)
actionpack (2.3.14)
activerecord (2.3.14)
activeresource (2.3.14)
activesupport (2.3.14)
builder (2.1.2)
bundler (1.0.21)
capistrano (2.9.0)
capybara (0.3.9)
cgi_multipart_eof_fix (2.5.0)
childprocess (0.2.2)
columnize (0.3.4, 0.3.3)
cucumber (0.9.4)
cucumber-rails (0.3.2)
culerity (0.2.15)
daemons (1.1.4)
database_cleaner (0.6.7)
diff-lcs (1.1.3)
expertiza-authlogic (2.1.6.1)
fastercsv (1.5.4)
fastthread (1.0.7)
ffi (1.0.10, 1.0.9)
gdata (1.1.2)
gem_plugin (0.2.3)
gherkin (2.2.9)
highline (1.6.2)
hoptoad_notifier (2.4.11)
json (1.4.6)
json_pure (1.6.1)
linecache (0.46)
mime-types (1.16)
mongrel (1.1.5)
mysql (2.8.1)
mysql2 (0.3.7)
net-scp (1.0.4)
net-sftp (2.0.5)
net-ssh (2.2.1)
net-ssh-gateway (1.1.0)
nokogiri (1.5.0)
rack (1.1.2)
rack-test (0.6.1)
rails (2.3.14)
rake (0.9.2)
rbx-require-relative (0.0.5)
rdoc (3.11)
RedCloth (4.2.8)
rgl (0.4.0)
ruby-debug (0.10.4)
ruby-debug-base (0.10.4)
rubyzip (0.9.4)
selenium-webdriver (2.8.0, 2.7.0)
stream (0.5)
term-ansicolor (1.0.7, 1.0.6)

?  expertiza git:(master) ? sudo su
Password:
sh-3.2# mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
sh-3.2# 
Run Code Online (Sandbox Code Playgroud)

我无法摆脱上述错误.我创建了一个mysql.sock file/Users/HPV/expertiza/tmp/sockets.在我写的文件中mysql.default_socket =/expertiza/tmp/sockets/mysql.sock.

我究竟做错了什么?

谢谢!

Dav*_*rtz 38

您需要按照说明安装和启动服务器.

该命令取决于您安装MySQL的方式.先试试这个:

sudo/Library/StartupItems/MySQLCOM/MySQLCOM启动

如果失败:

cd/usr/local/mysql
sudo ./bin/mysqld_safe
(如有必要,请输入密码)
(按Control-Z)
bg

  • 启动mysql的命令是**mysqld**,它代表"mysql守护进程".如果您的mysql没有运行,只需在终端中输入该命令即可.:) (6认同)

smc*_*kee 32

另外,如果你遇到这个错误并通过Homebrew安装了mysql,我发现这有效(虽然你需要将"5.6.12"更改为你自己的版本):

/usr/local/Cellar/mysql/5.6.12/bin/mysql.server restart

我刚在我的主目录中创建了一个〜/ restartMysql.sh文件(上面只有上面的行),这样我就可以在MySQL正在运行时使用它

  • 这个.这么多.伙计,我爱你. (7认同)

hsu*_*suk 17

在命令行上运行以下命令:

$ mysql.server start
Run Code Online (Sandbox Code Playgroud)


abb*_*ood 5

这篇文章对我有帮助,我将在这里重写步骤(注意:我还将写命令的输出。只是为了使您知道自己步入正轨)

如果运行,请首先停止服务器:

[root@servert1 ~]# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]
Run Code Online (Sandbox Code Playgroud)

在单独的线程上运行sql dameon

[root@servert1 ~]# mysqld_safe --skip-grant-tables &    
[1] 13694    
[root@servert1 ~]# Starting mysqld daemon with databases from /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

打开一个单独的外壳窗口并键入

[root@servert1 ~]# mysql -u root

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.0.77 Source distribution



Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Run Code Online (Sandbox Code Playgroud)

开始使用mysql

mysql> use mysql; 

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A



Database changed
Run Code Online (Sandbox Code Playgroud)

user使用新密码手动更新表格(注意:随意输入mysql> show tables; 只是为了了解您的位置)

注意:authenication_string表中有来自MySQL 5.7的密码,因此命令为update user set authentication_string=password('testpass') where user='root';

mysql> update user set password=PASSWORD("testpass") where User='root';

Query OK, 3 rows affected (0.05 sec)

Rows matched: 3 Changed: 3 Warnings: 0
Run Code Online (Sandbox Code Playgroud)

刷新特权(我不确定此特权的全部含义..但是它可以工作)

mysql> flush privileges; 

Query OK, 0 rows affected (0.04 sec)
Run Code Online (Sandbox Code Playgroud)

退出

mysql> quit

Bye
Run Code Online (Sandbox Code Playgroud)

停止服务器

注意:在OS X或macOS上,mysql.server位于/usr/local/mysql/support-files/

mysql.server stop

Shutting down MySQL
.130421 09:27:02 mysqld_safe mysqld from pid file /usr/local/var/mysql/mycomputername.local.pid ended
 SUCCESS! 
[2]-  Done                    mysqld_safe --skip-grant-tables
Run Code Online (Sandbox Code Playgroud)

杀死另一个运行dameon的shell窗口(只是要确保)

现在你很好!试试吧:

[root@servert1 ~]#  mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.10 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
Run Code Online (Sandbox Code Playgroud)

完成了!