MariaDB : ERROR 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111 “Connection refused”)

注意:如果你是因为没有设置允许远程访问,请参考这篇文章:debian,ubuntu下安装MariaDB,并设置密码,修改端口,允许外网访问

早上想连接到数据库时报错如下(我把数据库的端口改成了51009,防止被人发现):

-> # mysql -h 127.0.0.1 -P 51009 -u root -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 "Connection refused")

我用的是MariaDB,我的问题跟其他人的不同,我是前一天还是可以连接的,然后今天就连接不上了。

然后查看端口情况:

-> # nmap -p 51009 127.0.0.1Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-04 09:15 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000062s latency).
PORT      STATE  SERVICE
51009/tcp closed unknown

发现端口关闭了,我觉得事情不对,于是查看MariaDB 的状态:

-> # service mysql status
● mariadb.service - MariaDB 10.1.37 database serverLoaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)Active: failed (Result: exit-code) since Thu 2019-04-04 07:11:25 CST; 2h 15min agoDocs: man:mysqld(8)https://mariadb.com/kb/en/library/systemd/Process: 20933 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)Process: 20931 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)Process: 6808 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)Process: 6731 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREProcess: 6725 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)Process: 6724 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)Main PID: 6808 (code=exited, status=1/FAILURE)Status: "MariaDB server is down"CPU: 312msApr 04 07:11:24 VM-73-203-debian systemd[1]: mariadb.service: Service hold-off time over, scheduling restart.
Apr 04 07:11:24 VM-73-203-debian systemd[1]: Stopped MariaDB 10.1.37 database server.
Apr 04 07:11:24 VM-73-203-debian systemd[1]: Starting MariaDB 10.1.37 database server...
Apr 04 07:11:24 VM-73-203-debian mysqld[6808]: 2019-04-04  7:11:24 139734049481152 [Note] /usr/sbin/mysqld (mysqld 10.1.37-MariaDB-0+deb9u1) starting as process 6808 ..
Apr 04 07:11:25 VM-73-203-debian systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Apr 04 07:11:25 VM-73-203-debian systemd[1]: Failed to start MariaDB 10.1.37 database server.
Apr 04 07:11:25 VM-73-203-debian systemd[1]: mariadb.service: Unit entered failed state.
Apr 04 07:11:25 VM-73-203-debian systemd[1]: mariadb.service: Failed with result 'exit-code'.

发现MariaDB 发生异常,直接退出了。
查看更详细的报错信息:

-> # cat /var/log/mysql/error.log
2019-04-04  7:11:24 139734049481152 [ERROR] mysqld: Out of memory (Needed 128663552 bytes)
2019-04-04  7:11:24 139734049481152 [Note] InnoDB: innodb_empty_free_list_algorithm has been changed to legacy because of small buffer pool size. In order to use backoff, increase buffer pool at least up to 20MB.2019-04-04  7:11:25 139734049481152 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2019-04-04  7:11:25 139734049481152 [Note] InnoDB: The InnoDB memory heap is disabled
2019-04-04  7:11:25 139734049481152 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-04-04  7:11:25 139734049481152 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2019-04-04  7:11:25 139734049481152 [Note] InnoDB: Compressed tables use zlib 1.2.8
2019-04-04  7:11:25 139734049481152 [Note] InnoDB: Using Linux native AIO
2019-04-04  7:11:25 139734049481152 [Note] InnoDB: Using SSE crc32 instructions
2019-04-04  7:11:25 139734049481152 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(140574720 bytes) failed; errno 12
2019-04-04  7:11:25 139734049481152 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2019-04-04  7:11:25 139734049481152 [ERROR] Plugin 'InnoDB' init function returned error.
2019-04-04  7:11:25 139734049481152 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2019-04-04  7:11:25 139734049481152 [Note] Plugin 'FEEDBACK' is disabled.
2019-04-04  7:11:25 139734049481152 [ERROR] Unknown/unsupported storage engine: InnoDB
2019-04-04  7:11:25 139734049481152 [ERROR] Aborting

里面有关键的一句:

InnoDB: Cannot allocate memory for the buffer pool

这句话报错的意思是内存不够了,要么增加内存,要么减小buffer pool的大小。
我选择减小buffer pool 的大小,在[mysqld]下面增加一行:

nano /etc/mysql/mariadb.conf.d/50-server.cnf
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
## this is read by the standalone daemon and embedded servers
[server]# this is only for the mysqld standalone daemon
[mysqld]
innodb_buffer_pool_size = 32M

重新启动MariaDB:

service mysql start

MariaDB: ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 Connection refused)相关推荐

  1. ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111)

    问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.x ...

  2. ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx.xxx' (111)

    一.问题描述 远程连接mysql数据库的时候报如下错误 ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx.xxx' (1 ...

  3. ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.33.10' (111) 解决方法

    谷歌了一下之后,原来是在mysql的my.cnf中有下面一段代码: # Instead of skip-networking the default is now to listen only on ...

  4. mysql 2003 111_MySQL:解决ERROR 2003 (HY000): Can't connect to MySQL server on 'XXX' (111)

    摘要:MySQL 想从远程集群上访问本地的MySQL数据库,输入host,用户和密码报错 ERROR 2003 (HY000): Can't connect to MySQL server on 'X ...

  5. ERROR 2003 (HY000): Can‘t connect to MySQL server on (111)

    问题背景: [root@localhost ~]# mysql --host 192.168.1.11 --user=kari -p Enter password:  ERROR 2003 (HY00 ...

  6. MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题

    装了个navicat ,然后去连接mysql服务器,一直连不上,一开始以为是防火墙问题,后来防火墙都关闭,  iptable服务关闭,还是不行,网上查了下:主要是因为设置了bind_address=1 ...

  7. 终端连接mysql是出现error 2003_MySQL远程连接出现:ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题...

    MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题 问题描述: 从一台linux远程连接另一台linux上的M ...

  8. MySQL显示ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)解决方法

    MySQL显示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决方法 参考文章: (1)MySQL显示 ...

  9. 解决MySQL报错ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

    解决MySQL报错ERROR 2003 HY000: Can't connect to MySQL server on 'localhost:3306' 10061   笔者在新电脑安装完 MySQL ...

最新文章

  1. 100多年了,左右大脑的不对称性依然备受关注
  2. 修改CentOS7网卡名称为传统名称eth0格式(20170711更新)
  3. 功率谱密度相关方法MATLAB实现
  4. set删除一个元素时间复杂度_set/map接口及其实现类
  5. wordpress发布文章时右侧边栏选择作者的功能代码
  6. JS中的bind()方法
  7. python读取多个文件夹_如何从python中的文件夹中读取多个NetCDF文件
  8. arcobject c++实现检查要素是否为multipart(准确而且快 最主要是real 网上代码有问题)
  9. document.addEventListener的使用介绍
  10. 永恒之蓝(MS17010)漏洞复现
  11. SQLite忽略大小写
  12. Windows平台JDK8下载和安装说明
  13. [Camera Drv]开video dynamic framerate,特定场景下video encode时会闪屏 - MTK物联网在线解答 - 技术论坛
  14. Vuforia官方文档-01-Vuforia功能概述
  15. windows 静态ip与动态ip切换脚本
  16. 卷土、玄雨入围第四届橙瓜网络文学奖十佳科幻大神,方想暂排第一
  17. tera-PROMISE数据集
  18. 新公司新入手的一个新项目的心路历程
  19. 计算机画大熊猫教学设计,画大熊猫教案
  20. Windows为无扩展名程序设置默认打开方式

热门文章

  1. Mol2vec | 一种无监督机器学习方法的分子亚结构向量表示
  2. Python 机器学习之项目实践
  3. html语言文字闪烁,html+CSS3实现的文字闪烁特效
  4. mysql内连接和外连接的区别_Swoole4创建Mysql连接池
  5. Coronascape – 为COVID-19研究特制的基因列表比较工具
  6. 23日晚西湖大学鞠峰报告:环境微生物宏基因组学
  7. Cell:无症状新冠患者阳性持续105天
  8. 公益合种油松专车3天领证
  9. 画图手册 | ImageGP:今天你“plot”了吗?
  10. mysql加锁处理分析_MySQL 加锁处理分析 ---非常牛逼