solucion - No se puede conectar al servidor MySQL local a través del socket ''/tmp/mysql.sock''(2)
hy000): can t connect to local mysql server through socket ''/ var run mysqld mysqld sock (7)
Además, si obtuvo este error e instaló mysql a través de Homebrew, encontré que esto funciona (aunque necesita cambiar "5.6.12" a su propia versión):
/usr/local/Cellar/mysql/5.6.12/bin/mysql.server restart
Acabo de crear un archivo ~ / restartMysql.sh en mi directorio de inicio (con solo la línea de arriba) para poder usarlo siempre que MySQL esté actuando.
Estoy intentando ejecutar el cliente mysql en mi terminal. He instalado la última gema mysql.
➜ ~ 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#
No puedo deshacerme del error anterior. He creado un mysql.sock file
en /Users/HPV/expertiza/tmp/sockets
. En el archivo he escrito mysql.default_socket =/expertiza/tmp/sockets/mysql.sock
.
¿Qué estoy haciendo mal?
¡Gracias!
Debe seguir las instrucciones para instalar e iniciar el servidor.
El comando varía dependiendo de cómo instaló MySQL. Prueba esto primero
sudo / Library / StartupItems / MySQLCOM / MySQLCOM start
Si eso falla:
cd / usr / local / mysql
sudo ./bin/mysqld_safe
(Ingrese su contraseña, si es necesario)
(Presiona Control-Z)
bg
Ejecuta lo siguiente en la línea de comando:
$ mysql.server start
En mi caso, no tengo la configuración correcta de la carpeta tmp. Lo que termine con estos pasos:
1. cd /
2. ln -s private/tmp /tmp
Espero que esto ayude a alguien. Estaba recibiendo el mismo error, pero aparentemente por una razón muy diferente a la de otras personas.
Tengo 2 máquinas CentOS.
Copié my.cnf a la nueva máquina, sin darme cuenta de que había actualizado la vieja máquina a MySQL 5.6, y la nueva máquina tenía 5.5 instalada. Cuando comenté las directivas de solo 5.6, MySQL comenzó como se esperaba. (y ahora estoy ejecutando la actualización para poder aplicar las directivas innodb_buffer_pool_dump_at_shutdown
e innodb_buffer_pool_load_at_startup
innodb_buffer_pool_dump_at_shutdown
innodb_buffer_pool_load_at_startup
)
Yo sugeriría intentar un mínimo my.cnf. Si MySQL se inicia, entonces ha encontrado la fuente de su problema.
Parece que necesita un servidor MySQL instalado, hay paquetes de instalación en el sitio de mysql, o puede instalarlo a través de macports (supongo que desde la línea darwin11). Instalé el mío a través de puertos, y el socket vive en / opt / local / var / run / mysql5 /.
esta post ayudó. Reescribiré los pasos aquí (nota: también escribiré la salida de tus comandos ... para que sepas que estás en camino)
primero detén el servidor si se está ejecutando:
[root@servert1 ~]# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]
ejecutar un dameon sql en un hilo separado
[root@servert1 ~]# mysqld_safe --skip-grant-tables &
[1] 13694
[root@servert1 ~]# Starting mysqld daemon with databases from /var/lib/mysql
abre una ventana de shell separada y escribe
[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.
empieza a usar 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
actualice la tabla de user
manualmente con su nueva contraseña (nota: no dude en escribir mysql> show tables;
solo para obtener una perspectiva de dónde se encuentra)
NOTA: las contraseñas de MySQL 5.7 están en la tabla authenication_string
, por lo que el comando es 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
privilegios de descarga (no estoy seguro de qué se trata este privilegio ... pero funciona)
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)
dejar
mysql> quit
Bye
detener el servidor
NOTA: en OS X o macOS, mysql.server
se encuentra en /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
elimine la otra ventana de shell que tiene el dameon en ejecución (solo para asegurarse)
¡Ahora eres bueno para ir! intentalo:
[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>
¡hecho!