opensuse - 无法启动mysqld/mysql

标签 opensuse mysql

首先我不得不说我是一个mysql新手。 基本上 mysql 没有启动并说:

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

现在这是我毁了一切的步骤:

由于无法登录到我的系统 (otrs),我认为恢复旧备份会有所帮助。

在恢复过程中,备份管理器说我需要删除旧数据库。我试过了,但过程没有完成,所以我取消了。

此后我尝试重新启动系统,但遇到了很大的问题,但是当我完成重新启动后,我尝试运行 mysql,但它说找不到 mysql.socket。

在这一点上,我认为重新安装 mysql 会更好,但这样做并没有帮助。 当尝试以 mysql 用户身份启动 mysqld 时,它说:

[ERROR] Found 1 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit or rollback pending transactions. 

两者都没有帮助:

mysql:/root> /usr/sbin/mysqld  --tc-heuristic-recover commit
131213 16:46:00 InnoDB: The InnoDB memory heap is disabled
131213 16:46:00 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131213 16:46:00 InnoDB: Compressed tables use zlib 1.2.7
131213 16:46:00 InnoDB: Using Linux native AIO
131213 16:46:00 InnoDB: Initializing buffer pool, size = 128.0M
131213 16:46:00 InnoDB: Completed initialization of buffer pool
131213 16:46:00 InnoDB: highest supported file format is Barracuda.
131213 16:46:01  InnoDB: Waiting for the background threads to start
131213 16:46:02 Percona XtraDB (http://www.percona.com) 5.5.33-MariaDB-31.1 started; log sequence number 3710898915
131213 16:46:02 [Note] Server socket created on IP: '0.0.0.0'.
131213 16:46:02 [ERROR] Event Scheduler: Failed to open table mysql.event
131213 16:46:02 [ERROR] Event Scheduler: Error while loading from disk.
131213 16:46:02 [Note] Event Scheduler: Purging the queue. 0 events
131213 16:46:02 [ERROR] Aborting

131213 16:46:02  InnoDB: Starting shutdown...
131213 16:46:03  InnoDB: Shutdown completed; log sequence number 3710898915
131213 16:46:03 [Note] /usr/sbin/mysqld: Shutdown complete

任何时候运行 systemctl start mysql.service 都会失败:

mysql.service - LSB: Start the MySQL database server
          Loaded: loaded (/etc/init.d/mysql)
          Active: failed (Result: timeout) since Fri, 13 Dec 2013 16:27:12 +0100; 23min ago
         Process: 8845 ExecStart=/etc/init.d/mysql start (code=killed, signal=TERM)
          CGroup: name=systemd:/system/mysql.service

Dec 13 16:31:21  mysql[8845]: otrs.user_preferences                              OK
Dec 13 16:31:21  mysql[8845]: otrs.users                                         OK
Dec 13 16:31:21  mysql[8845]: otrs.valid                                         OK
Dec 13 16:31:21  mysql[8845]: otrs.virtual_fs                                    OK
Dec 13 16:31:21  mysql[8845]: otrs.virtual_fs_db                                 OK
Dec 13 16:31:21  mysql[8845]: otrs.virtual_fs_preferences                        OK
Dec 13 16:31:21  mysql[8845]: otrs.web_upload_cache                              OK
Dec 13 16:31:21  mysql[8845]: otrs.xml_storage                                   OK
Dec 13 16:31:21  mysql[8845]: performance_schema
Dec 13 16:31:21  mysql[8845]: Phase 3/3: Running 'mysql_fix_privilege_tables'...

我完全不知道该怎么办。谁能帮帮我? 如何在不使用 mysql DROP 命令的情况下删除/删除 otrs 表? 这有帮助吗?

谢谢。

最佳答案

mysqld --tc-heuristic-recover=ROLLBACK

对我来说并没有完全发挥作用。然而以下工作

mysqld_safe --tc-heuristic-recover=COMMIT

关于opensuse - 无法启动mysqld/mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20570779/

相关文章:

linux - Bash while 在两次之间循环

mysql - 使用自动增量 Mysql 将多行插入到两个表中

MySQL批处理文件更新

python - 执行 python 脚本时,列 'date' 的值超出范围

linux - 警告 : Could not start program with arguments. 警告:执行格式错误

java - 在 Linux OpenSuse cron 上,脚本运行,但只生成空日志

linux - SLES 12 : Client service neither service nor target?

linux - OpenSuse 13.2 中的 Cron 重启

php - 更新数据库中的 ID

php - 在我的 vps 上将 mysql 5.1 升级到 5.5 安全吗?