当前位置:网站首页>mysql(mariadb)无法打开,报错:找不到mysqld.sock且Can‘t connect to MySQL server on 127.0.0.1(111)
mysql(mariadb)无法打开,报错:找不到mysqld.sock且Can‘t connect to MySQL server on 127.0.0.1(111)
2022-06-09 20:56:00 【落墨画雪】
网络上太多该问题来自转载且格式混乱,查阅他人经验并没有解决我的问题,这里分享下自己解决后的经验,以免后人少走弯路。
标题因为长度限制,很多关键信息无法打出,这里详细描述下我重启mysql(是 mariadb的,以下简称mysql)所遇到的问题:
1: MariaDB: ERROR 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111 “Connection refused”)
2: Job for mariadb.service failed because the control process exited with error code. See “systemctl status mariadb.service” and “journalctl -xe” for details.
3: Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
直接上结论: 你是不是修改过配置文件,修改了/etc/my.cnf ,如果是,那么请继续向下看,如果没有,那请继续查阅其他资料。
1:问题描述
一开始mysql是正常的,修改过mysql的配置文件后,打算通过重启mysql后报错,内容如下:
systemctl restart mariadb
报错:Job for mariadb.service failed because the control process exited with error code. See “systemctl status mariadb.service” and “journalctl -xe” for details.
顺着报错给的指令,
systemctl status mariadb.service
查看mysql的运行状态
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 日 2022-05-29 14:42:18 CST; 13s ago
Process: 3531 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
Process: 3530 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
Process: 3496 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 3530 (code=exited, status=0/SUCCESS)
5月 29 14:42:12 localhost systemd[1]: Starting MariaDB database server...
5月 29 14:42:12 localhost mariadb-prepare-db-dir[3496]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
5月 29 14:42:12 localhost mysqld_safe[3530]: 220529 14:42:12 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
5月 29 14:42:12 localhost mysqld_safe[3530]: 220529 14:42:12 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
5月 29 14:42:18 localhost systemd[1]: mariadb.service: control process exited, code=exited status=1
5月 29 14:42:18 localhost systemd[1]: Failed to start MariaDB database server.
5月 29 14:42:18 localhost systemd[1]: Unit mariadb.service entered failed state.
5月 29 14:42:18 localhost systemd[1]: mariadb.service failed.
这里我们需要注意,Failed to start MariaDB database server表明mysql根本没有启动,通过ps aux | grep mysql也发现没有mysql的进程,所以网上相关的kill这个进程然后重启就是于事无补的。
接着尝试通过常用的socket方式启动mysql
mysql -uroot -p12345678
报错如下:
Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
顾名思义,mysql服务器无法通过这个mysqld.sock连接,那么我们会习惯去看看这个文件的状态,结果发现这个目录下没有这个文件
原因是这个文件是需要mysql正常启动后才会出现的,此时因为重启失败了,自然找不到这个文件,因此重启机器自然也解决不了。
接着,通过socket无法连接mysql,那么我换种方式
mysql -u root -h 127.0.0.1 -p 3306
输入密码后出现如下报错
**MariaDB: ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 "Connection refused")**
2:问题分析与解决
这时,我们回到最初的报错上,我们发现启动的日志会被记录在log中,路径为:/var/log/mariadb/mariadb.log
查询日志后发现如下重要信息
220529 14:42:12 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
220529 14:42:12 InnoDB: The InnoDB memory heap is disabled
220529 14:42:12 InnoDB: Mutexes and rw_locks use GCC atomic builtins
220529 14:42:12 InnoDB: Compressed tables use zlib 1.2.7
220529 14:42:12 InnoDB: Using Linux native AIO
220529 14:42:12 [Note] /usr/libexec/mysqld (mysqld 5.5.68-MariaDB) starting as process 3828 ...
220529 14:42:12 InnoDB: Initializing buffer pool, size = 128.0M
220529 14:42:12 InnoDB: Completed initialization of buffer pool
220529 14:42:12 InnoDB: highest supported file format is Barracuda.
220529 14:42:12 InnoDB: Waiting for the background threads to start
220529 14:42:13 Percona XtraDB (http://www.percona.com) 5.5.61-MariaDB-38.13 started; log sequence number 18423221
220529 14:42:13 [Note] Plugin 'FEEDBACK' is disabled.
220529 14:42:13 [ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'
220529 14:42:13 [ERROR] Aborting
220529 14:42:13 InnoDB: Starting shutdown...
220529 14:42:17 InnoDB: Shutdown completed; log sequence number 18423221
220529 14:42:17 [Note] /usr/libexec/mysqld: Shutdown complete
220529 14:42:17 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
显而易见,有问题的地方出现在ERROR处,unknown variable ‘default-character-set=utf8’
这里我才恍然大悟,自己刚刚修改过配置文件,/etc/my.cnf,所以将配置复原后,重启成功,下面的操作一气呵成
[[email protected] ~]# systemctl restart mariadb #这里没有输出是正常的
[[email protected] ~]#
[[email protected] ~]# mysql -uroot -p12345678
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
顺利通过socket方式进入mysql,同时,mysqld.sock自然也回来了,毕竟启动成功了
[[email protected] mysql]# ll
总用量 53288
-rw-rw----. 1 mysql mysql 16384 5月 29 14:42 aria_log.00000001
-rw-rw----. 1 mysql mysql 52 5月 29 14:42 aria_log_control
-rw-rw----. 1 mysql mysql 44040192 5月 29 14:52 ibdata1
-rw-rw----. 1 mysql mysql 5242880 5月 29 14:52 ib_logfile0
-rw-rw----. 1 mysql mysql 5242880 5月 29 14:52 ib_logfile1
drwx------. 2 mysql mysql 4096 7月 27 2021 mysql
srwxrwxrwx. 1 mysql mysql 0 5月 29 14:44 mysql.sock 《-----------在这里
drwx------. 2 mysql mysql 8192 5月 29 14:52 neutron
drwx------. 2 mysql mysql 4096 7月 27 2021 performance_schema
[[email protected] mysql]#
3:反思与总结
1:重启能够解决80%的问题,这80%中不包括你修改了配置
2:原来的服务正常,突然某个时间不好使了,要注意是不是期间你误删了重要的文件,或者修改了什么配置。
3:日志是最重要的参考。
4:不到万不得已,不要删库重建。
边栏推荐
猜你喜欢

03 Wireshark TCP

Latex mathematical symbols Encyclopedia

Modbus协议与SerialPort端口读写

Summary of linear regression
![Fedformer:frequency enhanced decomposedtransformer for long term series forecasting[still learning...]](/img/58/d73cbaaeefc255816fe8cdc7165419.png)
Fedformer:frequency enhanced decomposedtransformer for long term series forecasting[still learning...]
Who says redis can't save big keys

Understand go modules' go Mod and go sum

Mysql异常:The server time zone value‘XXX'解决

Comprendre le go des modules go. MOD et go. SUM

二叉搜索树
随机推荐
Add the "back" function button to the toolbar of the idea navigation bar of the "stepping pit record"
Mysql异常:The server time zone value‘XXX'解决
To simplify, one annotation completes the database configuration
浏览器无法打开百度,别的可以正常打开
Pychart always displays the collecting data solution after entering the debug mode
A thorough understanding of the very important ticket lock in concurrent programming -- stampedlock
Numpy duplicate data
Kubevirt network source code analysis (2)
Dongle driven solution
Open source a nodejs firewall gadget
做副业赚钱,这几个热门自媒体平台收益超多
二叉搜索树
BI 如何让SaaS产品具有 “安全感”和“敏锐感”(上)
Fedformer:frequency enhanced decomposedtransformer for long term series forecasting[still learning...]
每日技术分享之EIGRP的负载均衡配置
A consistent friend
[cf] 797 div3 E. Price Maximization
Thinking of finding the k-th largest element in O (n) by fast sorting
逻辑回归总结
为什么要重写equals和hashcode?