mysql 无法停止和启动,状态一直是 Active: deactivating (stop-sigterm)

问题

本想设置一下mysql log 日志时间,修改了 my.inf 之后, restart mysqld 一直起不来,查看服务状态,一直是 deactivating (stop-sigterm)

复制代码
	# systemctl status  mysqld
	● mysqld.service - MySQL Server
	   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
	   Active: deactivating (stop-sigterm) (Result: exit-code)
	     Docs: man:mysqld(8)
	           http://dev.mysql.com/doc/refman/en/using-systemd.html
	  Process: 1130 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=1/FAILURE)
	  Process: 1031 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
	   CGroup: /system.slice/mysqld.service
	           └─1233 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mys...
	
	8月 17 18:27:46 centos-192 systemd[1]: Starting MySQL Server...
	8月 17 18:31:04 centos-192 systemd[1]: mysqld.service: control process exit...1
	Hint: Some lines were ellipsized, use -l to show in full.

加上 -l

复制代码
	[root@centos-192 ~]# systemctl status  mysqld -l
	● mysqld.service - MySQL Server
	   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
	   Active: deactivating (stop-sigterm) (Result: exit-code)
	     Docs: man:mysqld(8)
	           http://dev.mysql.com/doc/refman/en/using-systemd.html
	  Process: 1130 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=1/FAILURE)
	  Process: 1031 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
	   CGroup: /system.slice/mysqld.service
	           └─1233 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
	
	8月 17 18:27:46 centos-192 systemd[1]: Starting MySQL Server...
	8月 17 18:31:04 centos-192 systemd[1]: mysqld.service: control process exited, code=exited status=1
	
	8月 18 06:28:42 centos-192 systemd[1]: Starting MySQL Server...
	-- Subject: Unit mysqld.service has begun start-up
	-- Defined-By: systemd
	-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
	-- 
	-- Unit mysqld.service has begun starting up.
	8月 18 06:28:53 centos-192 mysqld[2075]: Initialization of mysqld failed: 0
	8月 18 06:28:53 centos-192 systemd[1]: mysqld.service: control process exited, code=exited status=1
	8月 18 06:29:10 centos-192 systemd[1]: Failed to start MySQL Server.
	-- Subject: Unit mysqld.service has failed
	-- Defined-By: systemd
	-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
	-- 
	-- Unit mysqld.service has failed.
	-- 
	-- The result is failed.
	8月 18 06:29:10 centos-192 systemd[1]: Unit mysqld.service entered failed state.
	8月 18 06:29:10 centos-192 systemd[1]: mysqld.service failed.
	8月 18 06:29:11 centos-192 systemd[1]: mysqld.service holdoff time over, scheduling restart.
	8月 18 06:29:11 centos-192 systemd[1]: Stopped MySQL Server.
	-- Subject: Unit mysqld.service has finished shutting down
	-- Defined-By: systemd
	-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
	-- 
	-- Unit mysqld.service has finished shutting down.
	8月 18 06:29:11 centos-192 systemd[1]: Starting MySQL Server...
	-- Subject: Unit mysqld.service has begun start-up
	-- Defined-By: systemd
	-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
	-- 
	-- Unit mysqld.service has begun starting up.
	8月 18 06:29:21 centos-192 mysqld[2126]: Initialization of mysqld failed: 0
	8月 18 06:29:21 centos-192 systemd[1]: mysqld.service: control process exited, code=exited status=1

没有看出一个所以然!

查看日志

复制代码
# head /var/log/mysqld.log 
2023-08-11T12:22:52.567256Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-08-11T12:22:55.551353Z 0 [Warning] InnoDB: New log files created, LSN=45790
2023-08-11T12:22:56.101603Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2023-08-11T12:22:56.558025Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: cd6d347e-3841-11ee-9af3-00155d32bd0b.
2023-08-11T12:22:56.616202Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2023-08-11T12:22:57.763072Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2023-08-11T12:22:57.763093Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2023-08-11T12:22:57.766023Z 0 [Warning] CA certificate ca.pem is self signed.
2023-08-11T12:22:58.002974Z 1 [Note] A temporary password is generated for root@localhost: TD%TZ*jB.7Tk
2023-08-11T12:23:28.164212Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

看到这一条: Warning TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

才想起来,原来是我设置 mysql 日志格式造成的 ?

去掉这一行设置

复制代码
# vim /etc/my.cnf

# wzh 20230817
# default-time-zone='Asia/Shanghai'

现在是这样子

复制代码
# vim /etc/my.cnf
...
# wzh 20230817
# default-time-zone='Asia/Shanghai'
explicit_defaults_for_timestamp=true
log_timestamps=SYSTEM

另外日志中出现 " ... Security ... " ,安装完 centos 7 虚拟机,一直没有关闭 Selinux ! 手动关掉后,reboot!

总结:

突然出现奇怪问题的时候,先看服务状态,再看 log ,想象自己修改过什么配置

本次问题原因在于: default-time-zone='Asia/Shanghai'

相关推荐
starrocks_stella23 分钟前
EMR Serverless StarRocks Object Table:用 SQL 连接 OSS 文件与多模态 AI
数据库
这个DBA有点耶33 分钟前
以为自增ID只是有空洞?聊聊双主架构下无声的“数据覆盖”
数据库·mysql·dba
陈布衣1 小时前
MySQL(1)_MySQL 5.7.21 Linux 安装笔记
linux·笔记·mysql
钱栈up1 小时前
内网全断,怎么核实高炉和烧结系统的数据库对接信息
数据库
weavecodes2 小时前
双层缓存与权限实时生效:织码在线教育系统的 Caffeine + Redis 设计
数据库
bksczm2 小时前
InnoDB 页结构详解:页类型、页头页尾、数据行与页目录
数据库·mysql
bksczm3 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
余槐i3 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
字节跳动开源3 小时前
OpenViking连接业务系统,LLM Wiki一键编译
数据库·开源
进击的荆棘4 小时前
MySQL——数据库基础
数据库·mysql