ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

  • Mac OS 無法連接mysql,報錯如下:
xiaoyuan:~ xiaoyuan$ mysql -uroot;
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

  • 解決方法:
    經排查,發現/tmp/mysql.sock不存在。

mysqld.sock是mysql啟動以后自動生成的文件,關閉MySQL服務后,這個文件又會被刪除。如果MySQL啟動異常,就有可能不生成這個文件,登錄的時候就會出現你這個錯誤。

可能是mysql未啟動,嘗試啟動:

sudo mysql.server start

如果無法啟動mysql,執行以下操作
在終端中輸入

mysqld

結果

xiaoyuan:~ xiaoyuan$ mysqld
2019-05-20T04:25:34.410225Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-05-20T04:25:34.411304Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2019-05-20T04:25:34.411376Z 0 [Note] mysqld (mysqld 5.7.25) starting as process 6587 ...
2019-05-20T04:25:34.423971Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2019-05-20T04:25:34.427017Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-05-20T04:25:34.427066Z 0 [Note] InnoDB: Uses event mutexes
2019-05-20T04:25:34.427073Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2019-05-20T04:25:34.427079Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-05-20T04:25:34.428012Z 0 [Note] InnoDB: Number of pools: 1
2019-05-20T04:25:34.428178Z 0 [Note] InnoDB: Using CPU crc32 instructions
2019-05-20T04:25:34.430772Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2019-05-20T04:25:34.445398Z 0 [Note] InnoDB: Completed initialization of buffer pool
2019-05-20T04:25:34.468575Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2019-05-20T04:25:34.521308Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-05-20T04:25:34.521509Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-05-20T04:25:34.565599Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2019-05-20T04:25:34.566708Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2019-05-20T04:25:34.566730Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2019-05-20T04:25:34.567038Z 0 [Note] InnoDB: Waiting for purge to start
2019-05-20T04:25:34.618519Z 0 [Note] InnoDB: 5.7.25 started; log sequence number 2524176
2019-05-20T04:25:34.619078Z 0 [Note] InnoDB: Loading buffer pool(s) from /usr/local/var/mysql/ib_buffer_pool
2019-05-20T04:25:34.619348Z 0 [Note] Plugin 'FEDERATED' is disabled.
2019-05-20T04:25:34.636033Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them.
2019-05-20T04:25:34.636060Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory.
2019-05-20T04:25:34.639962Z 0 [Warning] CA certificate ca.pem is self signed.
2019-05-20T04:25:34.640263Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory.
2019-05-20T04:25:34.672800Z 0 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
2019-05-20T04:25:34.672873Z 0 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
2019-05-20T04:25:34.672989Z 0 [Note] Server socket created on IP: '127.0.0.1'.
2019-05-20T04:25:34.696092Z 0 [Note] InnoDB: Buffer pool(s) load completed at 190520 12:25:34
2019-05-20T04:25:34.791494Z 0 [Note] Event Scheduler: Loaded 0 events
2019-05-20T04:25:34.791687Z 0 [Note] mysqld: ready for connections.
Version: '5.7.25'  socket: '/tmp/mysql.sock'  port: 3306  Homebrew

最后再輸入:

sudo mysqld_safe

結果:

sudo mysqld_safexiaoyuan:~ xiaoyuan$ sudo mysqld_safe
Password:
2019-05-20T04:36:23.6NZ mysqld_safe Logging to '/usr/local/var/mysql/xiaoyuan.local.err'.
2019-05-20T04:36:23.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2019-05-20T04:36:23.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/xiaoyuan.local.pid ended

再連接mysql,問題解決:

xiaoyuan:~ xiaoyuan$ mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25 Homebrew

Copyright (c) 2000, 2019, 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 root用戶的密碼
mysql>  set password for 'root'@'localhost' = password('root');

作者:多網
鏈接:http://www.lxweimin.com/p/d9790602b9d5
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容