遗忘的世界 发表于 2023-2-25 07:44:28

导致mysqld无法启动的一个错误问题及解决

导致mysqld无法启动的一个错误

由于不小心删除了 /var/log/mysql/ 这个目录(这是mysql服务器用来保存log的地方),导致无法启动mysqld。
在终端输入 service mysql start 回车,输出:
Job for mysql.service failed because the control process exited with error code.See "systemctl status mysql.service" and "journalctl -xe" for details.于是在终端输入 mysqld 回车,输出:
2020-12-24T06:29:14.144840Z 0 TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2020-12-24T06:29:14.146597Z 0 mysqld (mysqld 5.7.31-0ubuntu0.18.04.1) starting as process 2760 ...2020-12-24T06:29:14.151841Z 0 Could not open file '/var/log/mysql/error.log' for error logging: Permission denied2020-12-24T06:29:14.151990Z 0 Aborting 2020-12-24T06:29:14.152063Z 0 Binlog end2020-12-24T06:29:14.152108Z 0 mysqld: Shutdown complete从提示看,是无法创建error.log,于是创建/var/log/mysql,再执行 ls -l /var/log 发现mysql这个目录的用户权限和组权限都是root,这就是问题所在,需要将其都改为mysql(使用chmod和chown命令)。

mysql 启动报错问题

MySQL 启动时报错
# service mysql startStarting MySQL....The server quit without updating PID file (/app/data//mysqldb.pid).检查日志
# cat error.log2017-11-21T11:42:15.698749Z 0 --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled2017-11-21T11:42:15.698941Z 0 /app/mysql/bin/mysqld (mysqld 5.7.18-log) starting as process 7838 ...2017-11-21T11:42:15.710334Z 0 InnoDB: PUNCH HOLE support not available2017-11-21T11:42:15.710380Z 0 InnoDB: Mutexes and rw_locks use GCC atomic builtins2017-11-21T11:42:15.710389Z 0 InnoDB: Uses event mutexes2017-11-21T11:42:15.710397Z 0 InnoDB: GCC builtin __sync_synchronize() is used for memory barrier2017-11-21T11:42:15.710404Z 0 InnoDB: Compressed tables use zlib 1.2.32017-11-21T11:42:15.710412Z 0 InnoDB: Using Linux native AIO2017-11-21T11:42:15.710979Z 0 InnoDB: Number of pools: 12017-11-21T11:42:15.711154Z 0 InnoDB: Using CPU crc32 instructions2017-11-21T11:42:15.716819Z 0 InnoDB: Initializing buffer pool, total size = 10G, instances = 8, chunk size = 128M2017-11-21T11:42:16.845646Z 0 InnoDB: Completed initialization of buffer pool2017-11-21T11:42:16.961424Z 0 InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().2017-11-21T11:42:16.961647Z 0 InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 65536 pages, max 0 (relevant if non-zero) pages!2017-11-21T11:42:16.961676Z 0 InnoDB: Plugin initialization aborted with error Generic error2017-11-21T11:42:17.562477Z 0 Plugin 'InnoDB' init function returned error.2017-11-21T11:42:17.562498Z 0 Plugin 'InnoDB' registration as a STORAGE ENGINE failed.2017-11-21T11:42:17.562511Z 0 Failed to initialize plugins.2017-11-21T11:42:17.562518Z 0 Aborting 2017-11-21T11:42:17.562536Z 0 Binlog end2017-11-21T11:42:17.562673Z 0 Shutting down plugin 'CSV'2017-11-21T11:42:17.563197Z 0 /app/mysql/bin/mysqld: Shutdown complete 2017-11-21T11:46:34.437631Z 0 --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled2017-11-21T11:46:34.437786Z 0 /app/mysql/bin/mysqld (mysqld 5.7.18-log) starting as process 9427 ...2017-11-21T11:46:34.446814Z 0 InnoDB: PUNCH HOLE support not available2017-11-21T11:46:34.446875Z 0 InnoDB: Mutexes and rw_locks use GCC atomic builtins2017-11-21T11:46:34.446886Z 0 InnoDB: Uses event mutexes2017-11-21T11:46:34.446894Z 0 InnoDB: GCC builtin __sync_synchronize() is used for memory barrier2017-11-21T11:46:34.446902Z 0 InnoDB: Compressed tables use zlib 1.2.32017-11-21T11:46:34.446910Z 0 InnoDB: Using Linux native AIO2017-11-21T11:46:34.447429Z 0 InnoDB: Number of pools: 12017-11-21T11:46:34.447594Z 0 InnoDB: Using CPU crc32 instructions2017-11-21T11:46:34.451429Z 0 InnoDB: Initializing buffer pool, total size = 10G, instances = 8, chunk size = 128M2017-11-21T11:46:35.561606Z 0 InnoDB: Completed initialization of buffer pool2017-11-21T11:46:35.666054Z 0 InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().2017-11-21T11:46:35.666901Z 0 InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 65536 pages, max 0 (relevant if non-zero) pages!2017-11-21T11:46:35.666932Z 0 InnoDB: Plugin initialization aborted with error Generic error2017-11-21T11:46:36.267707Z 0 Plugin 'InnoDB' init function returned error.2017-11-21T11:46:36.267729Z 0 Plugin 'InnoDB' registration as a STORAGE ENGINE failed.2017-11-21T11:46:36.267742Z 0 Failed to initialize plugins.2017-11-21T11:46:36.267750Z 0 Aborting 2017-11-21T11:46:36.267768Z 0 Binlog end2017-11-21T11:46:36.267919Z 0 Shutting down plugin 'CSV'2017-11-21T11:46:36.268430Z 0 /app/mysql/bin/mysqld: Shutdown complete删除:ibdata1、ib_logfile0、ib_logfile1 后启动正常
# rm -rf ibdata1 ib_logfile0 ib_logfile1
# service mysql start
Starting MySQL..............................................................................................................[  OK  ]分析其原因:
数据在初始化是分配了ibdata1的大小。我在my.cnf中重新设置了innodb_data_file_path = ibdata1:1G:autoextend导致启动时报错。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/article/275883.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 导致mysqld无法启动的一个错误问题及解决