首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以从/var/lib/ mysql /database文件夹恢复mysql数据库吗?

可以从/var/lib/ mysql /database文件夹恢复mysql数据库吗?
EN

Ask Ubuntu用户
提问于 2017-10-12 22:08:10
回答 1查看 34.1K关注 0票数 12

由于噩梦变成了现实,我的mysql安装最终被重新安装。在重新安装之前,我无法启动mysql,因此无法使用mysqldump进行适当的备份。但是,我确实将/var/lib/mysql复制到了一个安全的地方。试图将数据库文件夹重新同步到它们原来的位置是行不通的--这有点工作,但是wordpress就会崩溃,即使权限得到了修正。如果我手动创建该数据库,然后对其进行rsync,mysql将不会启动。

是否有可能以某种方式恢复此文件夹?

编辑:我现在有了它,这样我可以在mysql提示符中看到文件夹。我可以使用这个数据库,但是尝试选择*从wp_posts;给我

代码语言:javascript
运行
复制
 mysql> SELECT * FROM wp_posts;
 ERROR 1146 (42S02): Table 'alfheimwp.wp_posts' doesn't exist

尽管事实是

代码语言:javascript
运行
复制
mysql> SHOW TABLES;
+-------------------------------------------------+
| Tables_in_alfheimwp                             |
+-------------------------------------------------+
| wp_bp_activity                                  |
| wp_bp_activity_meta                             |
| wp_bp_friends                                   |
| wp_bp_groups                                    |
| wp_bp_groups_groupmeta                          |
| wp_bp_groups_members                            |
| wp_bp_messages_messages                         |
| wp_bp_messages_meta                             |
| wp_bp_messages_notices                          |
| wp_bp_messages_recipients                       |
| wp_bp_notifications                             |
| wp_bp_notifications_meta                        |
| wp_bp_user_blogs                                |
| wp_bp_user_blogs_blogmeta                       |
| wp_bp_xprofile_data                             |
| wp_bp_xprofile_fields                           |
| wp_bp_xprofile_groups                           |
| wp_bp_xprofile_meta                             |
| wp_commentmeta                                  |
| wp_comments                                     |
| wp_links                                        |
| wp_options                                      |
| wp_postmeta                                     |
| wp_posts                                        |
| wp_sg_action                                    |
| wp_sg_config                                    |
| wp_sg_schedule                                  |
| wp_signups                                      |
| wp_term_relationships                           |
| wp_term_taxonomy                                |
| wp_termmeta                                     |
| wp_terms                                        |
| wp_ucare_logs                                   |
| wp_usermeta                                     |
| wp_users                                        |
| wp_woocommerce_api_keys                         |
| wp_woocommerce_attribute_taxonomies             |
| wp_woocommerce_downloadable_product_permissions |
| wp_woocommerce_log                              |
| wp_woocommerce_order_itemmeta                   |
| wp_woocommerce_order_items                      |
| wp_woocommerce_payment_tokenmeta                |
| wp_woocommerce_payment_tokens                   |
| wp_woocommerce_sessions                         |
| wp_woocommerce_shipping_zone_locations          |
| wp_woocommerce_shipping_zone_methods            |
| wp_woocommerce_shipping_zones                   |
| wp_woocommerce_tax_rate_locations               |
| wp_woocommerce_tax_rates                        |
| wp_wpsp_agent_settings                          |
| wp_wpsp_attachments                             |
| wp_wpsp_canned_reply                            |
| wp_wpsp_catagories                              |
| wp_wpsp_custom_fields                           |
| wp_wpsp_custom_priority                         |
| wp_wpsp_custom_status                           |
| wp_wpsp_faq                                     |
| wp_wpsp_faq_catagories                          |
| wp_wpsp_panel_custom_menu                       |
| wp_wpsp_ticket                                  |
| wp_wpsp_ticket_thread                           |
+-------------------------------------------------+
61 rows in set (0.00 sec)

因此,这个数据库显然有一些东西是mysql丢失的,然而,这正是我以前使用的mysql版本。

编辑2:终于开始有所进展了,但是我在兔子洞的深处,我需要一个无辜的助手.现在mysql无法从以下几个方面开始:

代码语言:javascript
运行
复制
2017-10-13T01:55:16.625761Z 0 [ERROR] [FATAL] InnoDB: Tablespace id is 1121 in the data dictionary but in file ./mysql/help_relation.ibd it is 6!

我无法从表中读取的原因是,我没有将innodb文件还原到mail /var/lib/mysql文件夹中。不过,既然我已经有了这些表空间I,就没有排队。我不知道如何编辑它们,也不知道这是否是解决问题的方法。我希望有一个自动的方法来纠正这些!

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2017-10-13 03:36:11

好了,开始吧。因此,您需要彻底清除mysql。现在甚至不要费心切换到mariadb,它根本无法工作(尽管删除了与mysql相关的每个文件,但无法更改根密码)。

编辑:我后来意识到这是因为我没有将mariadb作为root运行。出于某种原因,如果安装了mariadb,则必须使用sudo mysql -u root -p。因此,从理论上讲,mariadb也应该适用于这个过程。

您需要重新安装mysql-服务器。首先,删除与mysql相关的所有

代码语言:javascript
运行
复制
sudo apt-get purge mysql-server* mariadb*

然后删除所有与mysql相关的文件夹(确保已经对整个/var/lib/mysql文件夹进行了安全备份)。

代码语言:javascript
运行
复制
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo rm -rf /var/log/mysql

然后重新安装mysql服务器。如果它在愚蠢的依赖项错误中失败,请执行

代码语言:javascript
运行
复制
ln -s /etc/mysql/mysql.conf.d /etc/mysql/conf.d

(或者相反,现在记不起来了)那就跑

代码语言:javascript
运行
复制
sudo apt-get install mysql-server 

再一次让它完成设置。停止mysql服务器

代码语言:javascript
运行
复制
sudo systemctl stop mysql

然后只将数据库文件夹(及其所有内容)复制回/var/lib/mysql。然后,还将ib*复制到/var/lib/mysql (这些是innodb字典和其他文件)。

代码语言:javascript
运行
复制
sudo rsync -r <backedupfolder>/ib* /var/lib/mysql/

一定要做到

代码语言:javascript
运行
复制
sudo chown -R mysql:mysql /var/lib/mysql 

编辑/etc/mysql/my.cnf并将innodb_force_recovery=5添加到[mysqld]部分(您可能需要添加米舍尔德)。现在,用systemctl start mysql重新启动mysql。如果您查看/var/log/mysql/error.log,您可能仍然会看到错误,但是尝试进入一个提示

代码语言:javascript
运行
复制
mysql -u root -p

如果你能启动的话,太好了。如果不是,再看看systemctl状态mysql.service,看看它说了什么。这可能是一个许可问题。如果您最终能够进入提示,立即执行

代码语言:javascript
运行
复制
mysqldump -u root -p <databasename> > database.sql 

这样我们就能得到那个数据库的干净转储。现在我们有了一个重要数据库的干净转储,我们需要从头开始的几个步骤(至少我做了,确定.此时我能够启动WordPress,但我无法登录)。因此,重新执行前几个清理步骤,卸载mysql-server后删除所有mysql目录。重新安装,但这一次只是运行

代码语言:javascript
运行
复制
 mysql -u root -p <databasename> < database.sql

你应该是黄金!您可能需要重新创建数据库(CREATE DATABASE databasename;) --不要忘记重新创建以前拥有该数据库的用户(如果您忘记了,请查看您的/var/www/html/wp-config.php或wp-config.php中的其他内容)。

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

https://askubuntu.com/questions/964417

复制
相关文章

相似问题

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