GVKun编程网logo

MySQL 配置文件添加参数后服务起不来了(mysql 配置文件添加参数后服务起不来了怎么办)

1

如果您想了解MySQL配置文件添加参数后服务起不来了和mysql配置文件添加参数后服务起不来了怎么办的知识,那么本篇文章将是您的不二之选。我们将深入剖析MySQL配置文件添加参数后服务起不来了的各个方

如果您想了解MySQL 配置文件添加参数后服务起不来了mysql 配置文件添加参数后服务起不来了怎么办的知识,那么本篇文章将是您的不二之选。我们将深入剖析MySQL 配置文件添加参数后服务起不来了的各个方面,并为您解答mysql 配置文件添加参数后服务起不来了怎么办的疑在这篇文章中,我们将为您介绍MySQL 配置文件添加参数后服务起不来了的相关知识,同时也会详细的解释mysql 配置文件添加参数后服务起不来了怎么办的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

MySQL 配置文件添加参数后服务起不来了(mysql 配置文件添加参数后服务起不来了怎么办)

MySQL 配置文件添加参数后服务起不来了(mysql 配置文件添加参数后服务起不来了怎么办)

如何正确地向数据库添加配置参数。

爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

本文约 1000 字,预计阅读需要 3 分钟。

背景信息

客户要将数据库数据迁移到 DMP 平台上,需要根据源库的配置修改相应参数(例:lower_case_table_names=0),但发现在配置文件添加好参数后数据库起不来了。

mysql-error.log
...........
2023-08-23T15:22:01.554471+08:00 0 [Note] Plugin ''FEDERATED'' is disabled.
2023-08-23T15:22:01.557909+08:00 0 [Note] Semi-sync replication initialized for transactions.
2023-08-23T15:22:01.557926+08:00 0 [Note] Semi-sync replication enabled on the master.
2023-08-23T15:22:01.557976+08:00 0 [ERROR] unknown variable ''lower_case_table_names<C2>= 0''
2023-08-23T15:22:01.557982+08:00 0 [Note] Starting ack receiver thread
2023-08-23T15:22:01.557987+08:00 0 [ERROR] Aborting
 
2023-08-23T15:22:01.558028+08:00 0 [Note] Binlog end
............

分析

因为查看 MySQL 的 error log 中显示参数问题,于是就将添加的参数注释掉,发现注释后可以正常启动数据库,于是就定位到参数上。

因为该参数是从文档上直接粘贴出来的,于是又手打出了相同的参数,发现可以正常重启。

确定了是由于粘贴的参数出现了问题。

[root@b 4444]# cat  /opt/mysql/etc/4444/my.cnf |tail -n 3
#lower_case_table_names = 0
 
lower_case_table_names = 0
[root@b 4444]# systemctl restart mysqld_4444.service

本地复现

将参数粘贴到配置文件中后重启数据库。

[root@b ~]# cat  /opt/mysql/etc/4444/my.cnf |tail -n 2
lower_case_table_names = 0
 
[root@b ~]# systemctl restart mysqld_4444.service
Job for mysqld_4444.service failed because the control process exited with error code. See "systemctl status mysqld_4444.service" and "journalctl -xe" for details.

#mysql-error.log
......
2023-08-23T16:03:15.775792+08:00 0 [Note] Plugin ''FEDERATED'' is disabled.
2023-08-23T16:03:15.778066+08:00 0 [Note] Semi-sync replication initialized for transactions.
2023-08-23T16:03:15.778082+08:00 0 [Note] Semi-sync replication enabled on the master.
2023-08-23T16:03:15.778119+08:00 0 [ERROR] unknown variable ''lower_case_table_names<C2>= 0''
2023-08-23T16:03:15.778125+08:00 0 [ERROR] Aborting
 
2023-08-23T16:03:15.778120+08:00 0 [Note] Starting ack receiver thread
2023-08-23T16:03:15.778143+08:00 0 [Note] Binlog end
......

在配置文件中手打该参数并重启数据库。

[root@b ~]# cat  /opt/mysql/etc/4444/my.cnf |tail -n 2
#lower_case_table_names = 0
lower_case_table_names = 0
[root@b ~]# systemctl restart mysqld_4444.service
[root@b ~]# ps -ef |grep mysqld
actiont+ 20393     1  3 16:07 ?        00:00:00 /opt/mysql/base/5.7.25/bin/mysqld --defaults-file=/opt/mysql/etc/4444/my.cnf --daemonize --pid-file=/opt/mysql/data/4444/mysqld.pid --user=actiontech-mysql --socket=/opt/mysql/data/4444/mysqld.sock --port=4444
root     23821  2821  0 16:07 pts/0    00:00:00 grep --color=auto mysqld

可得出确实是粘贴的参数格式有问题,来看一下是由于什么问题引起的。

方法 1:hexdump

hexdump 是 Linux 下的一个二进制文件查看工具,它可以将二进制文件转换为 ASCII、八进制、十进制、十六进制格式进行查看。默认显示方式是十六进制。

通过对比可以知道是前一个参数“=”前后的空格为特殊字符。

302 240:为文档或网页中的不间断空格,是 UTF-8 的字符不与 ASCII 兼容,所以执行参数出现报错。

不间断空格和普通空格的区别是:页面展示涉及到换行的时候,普通空格位置会截断换行,而这个特殊空格则不会截断。

方法 2:od

od 用于将指定文件内容以八进制、十进制、十六进制、浮点格式或 ASCII 编码字符方式显示,通常用于显示或查看文件中不能直接显示在终端的字符。od 默认显示方式是八进制。

同样通过对比可以知道是前一个参数“=”前后的空格为特殊字符。

302 240:同上。

方法 3:编辑器

这里以 Sublime Text 为例。将添加参数粘贴到 Sublime Text 编辑器上,使用 UTF-8 编码打开,显示粘贴的参数确实有特殊字符。

通过 <0xa0> 也可知该符号为 Unicode 字符中的不间断空格。

总结

在日常运维中,如果需要在配置文件中添加参数,最好不要直接从文档或网页上粘贴参数。建议通过 DMP 等运维平台修改参数或者通过手打来添加或修改参数。

如果需要粘贴大量参数,最好重启前检查一下粘贴参数的编码中是否包含特殊字符。

Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

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

 

 

 

原因:系统盘满了

[root@localhost opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 17G 0 100% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 80M 372M 18% /boot
[root@localhost opt]#

解决:

删除大文件后,重启系统解决

 

 

[root@localhost mysql]# /opt/lampp/lampp status
Version: XAMPP for Linux 1.8.3-3
Apache is not running.
MySQL is not running.
ProFTPD is running.

 

df: 未处理文件系统
[root@localhost opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 17G 0 100% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 80M 372M 18% /boot
[root@localhost opt]#

 

 

[root@localhost ~]# /opt/lampp/lampp status
Version: XAMPP for Linux 1.8.3-3
Apache is not running.
MySQL is running.
ProFTPD is running.

 

 

 

xampp 无法启动mysql 找不到mysql.sock

  (2016-02-24 23:21:24)
转载
  分类: 技术
出现的问题:
如果xampp中的mysql启动不了,出现ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)报错,
停止xampp的时候报:
-bash-4.1# /opt/lampp/lampp stop
Stopping XAMPP for Linux 1.8.2-6...
XAMPP: Stopping Apache...ok.
XAMPP: Stopping MySQL...ok.
XAMPP: Stopping ProFTPD...kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
fail.

解决办法:
如果网上一些方法不好用的话,可以试试以下方法:
1. 确定系统盘是否满了
#df -h
2. 删除/opt/lampp目录中的pid文件(删掉后xampp重启时会重建,如果不放心,可以先备份lampp目录)
删除mysql相关缓存:
#rm -rf /opt/lampp/var/mysql/VM_*  
删除proftp相关缓存:
#rm -rf /opt/lampp/var/proftpd.pid
如果找不到pid文件,可以搜一下:
#find /opt/lampp -name ''*.pid''

 

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

MySQL已经被我移到数据盘了,本地连接数据库会报错:Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

但是远程是可以连接的,my.cnf设置mysql的根目录也改成了数据盘的地址,还要在加上client的参数,设置如下:

[client]
socket = /home/data/mysql/mysql.sock

之后重启下mysql就可以了

CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

亲,是不是忘记了开MysqL服务,service MysqLd start

centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

centos7 设置 mysql 自启动的配置文件中

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false

这里的

[Service]

User=mysql

Group=mysql,

user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?还是其他呢?

关于MySQL 配置文件添加参数后服务起不来了mysql 配置文件添加参数后服务起不来了怎么办的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)、Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''、CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’、centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?等相关知识的信息别忘了在本站进行查找喔。

本文标签: