我的 MySQL 服务器崩溃了,我不知道为什么。尝试进行 yum 重新安装时,我得到以下信息:错误:mysql-server 与 mysql-server 冲突
我认为这是因为服务器已经有了 mysql 服务器,当我运行升级时,一切都变得一团糟。
我无法访问 MySQL,所以我什至无法执行 mysqldump。如何在不影响现有数据库的情况下重新安装?
答案1
该mysql-server
软件包的设计使其在删除或安装时都不会影响用户数据。您看到的问题可能是您安装了 i386 软件包,但它需要 x86_64 软件包,反之亦然。您将需要完整的 yum 输出才能继续。
答案2
如果你想重新安装mysql,请注意你的所有数据都在/var/lib/mysql
(检查你的my.conf
)。将所有数据复制到另一个文件夹,然后进行更改。
您还可以检查您的存储库,重新排列它们,然后从头开始安装 mysql。这样做更安全,下次要小心。因此,在重新安装之前先做两件事:
- 检查你的mysql版本。
- 复制
/var/lib/mysql
,例如(作为 root):cp -R /var/lib/mysql /tmp/mysql.bck
答案3
看来不同的存储库提供了不同版本的 mysql-server。我不确定您运行的是哪一个,因此我无法告诉您要禁用哪个存储库。我假设您正在运行 CentOS,但它也可以是 yum 的任何东西。
您还可以使用repoquery
(安装yum-utils
)来检查您的 mysql-server 软件包安装了哪些文件以及数据库所在的位置(或者找出初始化脚本,如果您的软件包就是这样安装 MySQL 的)。
在执行其他操作之前,下一步是备份数据库文件本身。如果您希望恢复数据,您将需要它们。
一旦你发现你正在运行的 MySQL 的确切版本,安装一个具有该确切版本的新盒子(亚马逊的 EC2 是你的朋友),并将数据文件复制到新安装的版本上可能(如果这里很大,并且不要在 MySQL 上执行)允许您mysqldump
在数据库上运行。
至于你原来的问题,我不认为一个理智的mysql-server
包会破坏你安装的数据库,但我不会拿你的数据打赌。
祝你好运。
答案4
我只是尝试yum remove mysql-commutity-server
做森托斯6
它试图删除/var/lib/mysql。因此,您最好在卸载之前将 datadir 从那里移走。