- 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');