DB失败后如何恢复InnoDB?
我正在尝试安装mysqlgovernor,最后我得到了这个烂摊子,现在我的所有网站都关闭了。DB失败后如何恢复InnoDB?
[email protected] [~]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: failed (Result: exit-code) since Sun 2016-03-06 06:35:31 CET; 5s ago
Process: 6244 ExecStartPost=/usr/sbin/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
Process: 6243 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
Process: 6205 ExecStartPre=/usr/sbin/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Process: 6179 ExecStartPre=/usr/sbin/mariadb-check-socket (code=exited, status=0/SUCCESS)
Main PID: 6243 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/mariadb.service
Mar 06 06:35:28 panel.uhlhosting.ch mariadb-prepare-db-dir[6205]: touch: cannot touch 'panel.uhlhosting.ch.err': Permission denied
Mar 06 06:35:28 panel.uhlhosting.ch mariadb-prepare-db-dir[6205]: chown: cannot access 'panel.uhlhosting.ch.err': No such file or directory
Mar 06 06:35:28 panel.uhlhosting.ch mariadb-prepare-db-dir[6205]: chmod: cannot access 'panel.uhlhosting.ch.err': No such file or directory
Mar 06 06:35:29 panel.uhlhosting.ch mysqld_safe[6243]: 160306 06:35:29 mysqld_safe Logging to '/var/lib/mysql/panel.uhlhosting.ch.err'.
Mar 06 06:35:29 panel.uhlhosting.ch mysqld_safe[6243]: 160306 06:35:29 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Mar 06 06:35:30 panel.uhlhosting.ch mysqld_safe[6243]: 160306 06:35:30 mysqld_safe mysqld from pid file /var/lib/mysql/panel.uhlhosting.ch.pid ended
Mar 06 06:35:31 panel.uhlhosting.ch systemd[1]: mariadb.service: control process exited, code=exited status=1
Mar 06 06:35:31 panel.uhlhosting.ch systemd[1]: Failed to start MariaDB database server.
Mar 06 06:35:31 panel.uhlhosting.ch systemd[1]: Unit mariadb.service entered failed state.
Mar 06 06:35:31 panel.uhlhosting.ch systemd[1]: mariadb.service failed.
[email protected] [~]#
这是我的错误列表:
InnoDB的:螺纹140010623854336文件buf0buf.cc行断言失败2850
这里是工作MariaDB的重新安装后,并禁用InnoDB的数据库,但我们不希望没有他们。
[email protected] [~]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running) since Sun 2016-03-06 10:16:12 CET; 29min ago
Main PID: 16551 (mysqld)
Status: "Taking your SQL requests now..."
CGroup: /system.slice/mariadb.service
└─16551 /usr/sbin/mysqld
Mar 06 10:16:12 panel.uhlhosting.ch mysqld[16551]: 2016-03-06 10:16:12 140128996632704 [Note] /usr/sbin/mysqld (mysqld 10.1.12-MariaDB) starting as process 16551 ...
Mar 06 10:16:12 panel.uhlhosting.ch mysqld[16551]: 2016-03-06 10:16:12 140128996632704 [Note] Plugin 'InnoDB' is disabled.
Mar 06 10:16:12 panel.uhlhosting.ch mysqld[16551]: 2016-03-06 10:16:12 140128996632704 [Note] Plugin 'FEEDBACK' is disabled.
Mar 06 10:16:12 panel.uhlhosting.ch mysqld[16551]: 2016-03-06 10:16:12 140128996632704 [Note] Server socket created on IP: '::'.
Mar 06 10:16:12 panel.uhlhosting.ch mysqld[16551]: 2016-03-06 10:16:12 140128995883776 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1286: Unknown storage engine 'InnoDB'
Mar 06 10:16:12 panel.uhlhosting.ch mysqld[16551]: 2016-03-06 10:16:12 140128996632704 [Note] /usr/sbin/mysqld: ready for connections.
Mar 06 10:16:12 panel.uhlhosting.ch mysqld[16551]: Version: '10.1.12-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server
Mar 06 10:16:12 panel.uhlhosting.ch systemd[1]: Started MariaDB database server.
Mar 06 10:16:54 panel.uhlhosting.ch systemd[1]: Started MariaDB database server.
Mar 06 10:17:00 panel.uhlhosting.ch systemd[1]: Started MariaDB database server.
请看前三行的错误日志: MariaDB的没有权限在哪里panel.uhlhosting.ch.err所在的目录写
您可以通过将此目录的所有者/组更改为mysql:mysql by chown -R mysql:mysql /path/to/directory/
(如果它在Linux上)来解决此问题。
这不仅是一个简单的权限问题,我尝试了很多方法,没有任何工作来恢复我的数据库;现在所有的数据库都在MyISAM中,如果我启用InnoDB,mariadb再次死亡。 –
它们必须在MyISAM中,而这是默认格式tabels存储在,当innodb被禁用或未知时,如它写入您的错误日志。我认为你应该停止复制,并首先用innodb解决这个问题。 – TheFan1968
我同意,告诉我如何解决这个问题:)这是我试图在这里得到一些见解,我不是MySQL的大师。 –
你采取了数据库和服务器的完整备份吗?如果您正在尝试解决这个问题,那么您有可能会做出更糟糕的事情 - 因此请将快照视为您做的第一件事。 – halfer
@halfer是备份到位。 –
你有多少内存? –