首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysqld进程已经存在,当我尝试启动/重新启动它时

Mysqld进程已经存在,当我尝试启动/重新启动它时
EN

Stack Overflow用户
提问于 2017-11-03 07:09:59
回答 1查看 23.7K关注 0票数 2

我使用的是mariaDB。基本上,每次我启动它时,它都会告诉我mysqld进程已经存在。为什么我必须运行sudo apachectl start才能运行mysql?我不是应该只需要mysql.server start

mysql.server restart

Shutting down MySQL .. SUCCESS! Starting MySQL .171102 15:59:35 mysqld_safe Logging to '/usr/local/var/mysql/****.err'. 171102 15:59:35 mysqld_safe A mysqld process already exists SUCCESS!

一个相关的问题是,当我编辑etc/my.cnf时,它什么也不做。我只知道我做错了什么,但我看不出是什么。

编辑:执行mysql.server stop之后,然后执行ps aux,这是我得到的结果:`

代码语言:javascript
复制
drewson           9625   0.0  0.0  2466636   2756 s001  S+    3:55pm  0:00.59 mysql -u root -p --max_allowed_packet=1073741824 -D hive
drewson          10235   0.0  0.0  2442020   1936 s000  S+    4:36pm   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mysql
drewson          10186   0.0  1.3  2969520 108876   ??  S     4:35pm   0:00.26 /usr/local/opt/mariadb/bin/mysqld --basedir=/usr/local/opt/mariadb --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mariadb/lib/plugin --log-error=/usr/local/var/mysql/drewson.err --pid-file=drewson.pid
drewson          10105   0.0  0.0  2444660   2376   ??  S     4:35pm   0:00.02 /bin/sh /usr/local/opt/mariadb/bin/mysqld_safe --datadir=/usr/local/var/mysql`

下面是我的错误日志中的信息:

代码语言:javascript
复制
2017-11-02 16:35:05 140735735079872 [ERROR] mysql.user has no `Event_priv` column at position 29
2017-11-02 16:35:05 140735735079872 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_A
2017-11-02 16:35:05 140735735079872 [ERROR] mysqld: Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
2017-11-02 16:35:05 140735735079872 [Note] Reading of all Master_info entries succeded
2017-11-02 16:35:05 140735735079872 [Note] Added new Master_info '' to hash table
2017-11-02 16:35:05 140735735079872 [Note] /usr/local/opt/mariadb/bin/mysqld: ready for connections.
Version: '10.2.10-MariaDB'  socket: '/tmp/mysql.sock'  port: 3306  Homebrew`
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-03 08:13:14

由于某些原因,主重启脚本没有关闭旧的my.cnf实例,所以mysql的更改没有反映出来。(数据损坏、配置错误、缺少文件路径pid、权限错误、mysql使用其他脚本启动)。根据机器的类型和服务的数据类型,您可以尝试手动终止mysql的进程,然后从脚本重新启动它。但我看到一些错误消息,当数据库完整性有点丢失时(这应该被修复)-在重新启动系统后,您可能会遇到与启动时相同的情况或数据丢失。

我会做一些更像这样的步骤:

  1. 备份数据库(表) mysqldump database > database.sql
  2. make整个mysql文件夹的二进制备份(如果可能)
  3. 将mysql升级到最新格式,因为错误日志指示表上可能存在格式问题mysql_upgrade
  4. check problems on tables disk/system health
  5. 如果失败,请尝试再次停止数据库服务器(在修复后):
  6. 如果没有错误,请再次检查错误日志:
  7. 终止进程kill -9 processnumberhere来自ps -aux第2列
  8. 检查ps -aux如果服务器仍未列出,启动它并再次检查错误日志
  9. 检查pid文件是否存在ls -l /usr/local/var/mysql/ (如果没有进程,请手动删除此文件)
  10. 如果可能,请重新启动系统-有时它会有所帮助...但也可能导致服务器宕机。

希望它能帮上点忙。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47086011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档