Centos7 登录mysql 出现mysql.sock不存在
记一次纠错大战
本来今天开开心心地部署nginx和uwsgi到我的Django服务器,刚想给老师演示一遍我这项目如何酷炫时,一登陆就出现mysql连接不上了
(2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")
这可把我急坏了,然后到服务器上看(用的时百度云BCC),发现mysql连接时一直报:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
我去这个目录下发现有这个sock文件啊,为啥连不上呢?上网查了发现说是加权限,我也一顿操作:
chown -R root:root /var/lib/mysql (别人都用mysql用户,就我直接弄root用户来搞)
结果还是不行,着急啊。那我就重装一下mysql,肯定后面可以的吧。
于是花了15分钟重装配置好,接着,再打开服务:
service mysql start
日常连接 mysql -u root
OK,连上了
quit;
再连一次,failed,又是这个
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
头大!!看了一下这个目录,又没有sock文件了。这个sock文件是每次mysql服务启动都会生成一次,看来mysql有点问题。
看了网上的解决方法:
1.#su mysql
2.$/usr/bin/mysql_install_db //重建授权表
3.$/usr/bin/mysqld_safe &
4.$/usr/local/bin/mysql //测试
mysq>bye;
我在第二步还是很顺利的执行,到了第三步就卡死了
[root@ bin]# mysqld_safe &
[1] 38305
[root@ bin]# 190315 20:49:20 mysqld_safe Logging to '/var/log/mysqld.log'.
190315 20:49:20 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
190315 20:49:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
我靠,这个法子也不行啊。
后面想了想,既然你这个sock每次启动都会生成一次,那么是不是/var/lib/mysql/下面的文件都是每启动一次mysql就会生成一次?
于是有了个大胆的想法,嘿嘿嘿
我先执行service mysqld stop (停止mysql服务),,然后再rm -rf /var/lib/mysql/* (删除/var/lib/mysql下的所有文件)
再service mysql start (启动mysql服务。)这次很顺畅,不像之前的启动就会卡住
执行mysql -u root(顺利执行,舒服)
mysql的log查看 /var/log/mysqld.log(启动一次服务就会写入log,但是连接mysql的不写入)
20190322更新 作死想写爬虫爬自己的网站,结果搞了mysql又出现上面的问题。
上面的方法治标不治本,建议多查日志。
老问题,在连接mysql报错:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
但是我们这个目录下确实没有mysql.sock,这回不要删除mysql目录下的文件了,因为我们的数据库文件也会一并删除,所以我们要找一下这个问题的本源了。先看看服务是否开启,命令 :systemctl start mysqld.service
打开mysqld发现一直卡住,肯定有问题,到/var/log/mysqld.log查看日志:
2019-03-22 10:41:08 8176 [Note] InnoDB: Initializing buffer pool, size = 50.0M
InnoDB: mmap(53657600 bytes) failed; errno 12
2019-03-22 10:41:08 8176 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2019-03-22 10:41:08 8176 [ERROR] Plugin 'InnoDB' init function returned error.
2019-03-22 10:41:08 8176 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2019-03-22 10:41:08 8176 [ERROR] Unknown/unsupported storage engine: InnoDB
2019-03-22 10:41:08 8176 [ERROR] Aborting
之前有在my.conf中设置这个InnoDB的缓冲区大小为50M,现在发现说是缓存分配失败。
查看缓存
free或者swapon –s
如果swap中为0 0 0的话就是没有分配缓存,那我们要分配一下。
一.添加swap分区
使用dd命令创建名为swapfile 的swap交换文件(文件名和目录任意):
1. dd if=/dev/zero of=/swapfile bs=1024 count=1024
[root@instance-xglfp5i0 etc]# dd if=/dev/zero of=/swapfile bs=1M count=1024
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,18.2569 秒,58.8 MB/秒
二.对交换文件格式化并转换为swap分区
mkswap /swapfile
[root@instance-xglfp5i0 etc]# mkswap /swapfile
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=e0a5c821-0bd2-4a90-984c-4125d20e1173
三.挂载并激活分区
1. swapon /swapfile
[root@instance-xglfp5i0 etc]# swapon /swapfile
swapon: /swapfile:不安全的权限 0644,建议使用 0600。
执行以上命令可能会出现:“不安全的权限 0644,建议使用 0600”类似提示,不要紧张,实际上已经激活了,可以忽略提示,也可以听从系统的建议修改下权限:
chmod -R 0600 /swapfile
四.修改 fstab 配置,设置开机自动挂载该分区:
1. vim /etc/fstab
在fstab文件末尾追加/swapfile swap swap defaults 0 0
利用free查看swap分配情况
[root@instance-xglfp5i0 etc]# free –h
total used free shared buff/cache available
Mem: 995548 675548 124184 16968 195816 119248
Swap: 1048572 776 1047796
这样缓存分配完成,重新打开mysqld服务systemctl start mysqld.service
[root@instance-xglfp5i0 course]# systemctl status mysqld.service
● mysqld.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 五 2019-03-22 11:20:00 CST; 5min ago
Main PID: 22117 (mysqld_safe)
CGroup: /system.slice/mysqld.service
├─22117 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─22319 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugi...
3月 22 11:19:58 instance-xglfp5i0 systemd[1]: Starting MySQL Community Server...
3月 22 11:19:59 instance-xglfp5i0 mysqld_safe[22117]: 190322 11:19:59 mysqld_safe Logging to '/var/log/mysq...g'.
3月 22 11:19:59 instance-xglfp5i0 mysqld_safe[22117]: 190322 11:19:59 mysqld_safe Starting mysqld daemon wi...sql
3月 22 11:20:00 instance-xglfp5i0 systemd[1]: Started MySQL Community Server.
Hint: Some lines were ellipsized, use -l to show in full.
正常运行,接下来进行数据库连接也正常,mysql.sock也正常产生。搞定
Centos7 登录mysql 出现mysql.sock不存在的更多相关文章
- centos7 服务器安装nginx,mysql,php
一.概述 项目的需要,今天在虚拟机上基于Centos安装配置了服务器运行环境,web服务用 nginx,数据库存储在mysql,动态脚本语言是php. 二.步骤 首页保证Centos7已经安装完毕,正 ...
- CentOS7的yum安装mysql
CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com ...
- centos7 通过yum安装mysql
但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载mysql的repo源 $ wget http://repo.mysql.co ...
- 【转】CentOS7 64位安装mysql教程
从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!这里依旧以mysql为例进行展示 1.先检查系统是否装有mysql rpm -qa | grep mysql 这里返回空值,说 ...
- CentOS7 服务器 JDK+TOMCAT+MYSQL+redis 安装日志
防火墙配置(参考 CentOS7安装iptables防火墙) 检查是否安装iptables #先检查是否安装了iptables service iptables status #安装iptables ...
- Centos7源码安装mysql及读写分离,互为主从
Linux服务器 -源码安装mysql 及读写分离,互为主从 一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...
- Linux centos7环境下安装MySQL的步骤详解
Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...
- centos7 minimal版本下mysql的安装
最近第一次尝在虚拟机上安装mysql,由于是centos7 minimal版本,很多安装包或命令必须自己添加,遇到很多问题. 首先是执行# yum install mysql-server 报错: 打 ...
- centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解
centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...
- centos7.2下安装Mysql笔记
centos7.2下安装Mysql笔记 安装 MySQL 适用于 CentOS 7.0 或以后版本: yum install mariadb mariadb-server 适用于 CentOS 6.8 ...
随机推荐
- laravel passport加密jwt格式的access_token中的sub(user_id)字段
在很多需求我们不希望别人知道用户在我们表中的 user_id :但是又想用数据库的自增 id 功能:一般时候在取出用户后加密 user_id 加密即可:但是总有那么几个不经意间就可能把我们的 user ...
- python拼接字符串方法汇总
python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 这种方式最常用. ...
- Hibernate Search集与lucene分词查询
lucene分词查询参考信息:https://blog.csdn.net/dm_vincent/article/details/40707857
- 虚拟机JVM
虚拟机组成:类加载器,运行时数据区,执行引擎 运行时数据区:堆,栈,方法区,程序计数器,本地方法栈 堆:对象实例 栈:入栈出栈,线程的执行 栈帧:一个方法一个 栈的结构:放 局部变量表,操作数栈,动态 ...
- gitlab中批量删除本地以及远程tag的操作
git 批量删除标签# 删除所有远程标签git show-ref --tag | awk '{print ":" $2}' | xargs git push origin # 删除 ...
- 项目(九) 企业级Memcached服务应用实践
一, Memcached介绍 1.1 Memcached与常见同类软件对比 (1)Memcached是什么? Memcached是一个开源的,支持高性能,高并发的分布式内存缓存系统,由C语言编写, ...
- 深入Dockerfile(一): 语法指南(转)
最近在学习K8S,发现这两篇文章还不错,转了过来 docker官方文档Dockerfile reference的笔记. 一.机制 1.1 构建 docker构建一个镜像,需要: Dockerfile文 ...
- 20175314 《Java程序设计》第九周学习总结
20175314 <Java程序设计>第九周学习总结 教材学习内容总结 根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解 MySQL客户端管理工具(如 ...
- np.where()命令介绍
- mysql5.7.21安装要点记录
下载的是Zip解压缩版,Windows系统,因为很久没有在Windows上安装过,这次安装发现了几处和以前安装不一样的地方,特记录如下,供大家参考 MySQL配置文件位置 bin目录下的mysql_c ...