我试图将已安装的MySQL从Ubuntu复制到Centos7,因为我不再希望在Centos7上安装。这看起来是可行的,但我不确定是否有任何潜在的问题,我不知道。
以前有人试过这个手术吗?
尝试这种复制方式的目的是编写一个一键安装sh脚本,其中包括一些服务器软件,如JDK、MySQL、nginx、elasticsearch和一些Java代码。处理现有的MySQL显然是完成MySQL安装脚本的最简单方法,因为我需要以传统的方式安装MySQL并创建帐户和DB。
将MySQL从Ubuntu直接复制到Centos7的步骤如下:
/usr/local/mysqlmy.cnf文件从Ubuntu复制到Centos7上的/etcmysql.server复制到/etc/init.d/mysqlmysql.server和chown授予/usr/local/mysql的所有者mysql:mysql的权限顺便说一句,我的Centos7机器是新安装的,这意味着我没有在它上安装任何其他软件,我的Centos7无法上网,所以我不能通过apt,yum方式安装MySQL。我需要先从网站下载安装包,然后我可以通过MySQL通过rpm或tar的传统方式安装。
我想说的是,无论是apt、yum、rpm还是tar方式,在我的一次单击安装脚本中编写这些步骤都很复杂,所以我选择直接复制,但我对此有些担心,因为我不知道是否存在一些潜在的问题。
发布于 2021-05-19 02:49:30
答案很简单:不。一个更现实的答案并不容易。如果你想以“错误的方式”做这件事,你会这样做:
/var/lib/mysql目录的全部内容从CentOS复制到Ubuntu这是一个灾难的配方,因为它几乎总是导致更多的工作,而不是做“更好的方式”。下面是如何将MySQL数据从一台服务器迁移到另一台服务器:
注意:以下所有命令都在Ubuntu和MySQL上工作。
root帐户设置密码的选项。请注意,即使您已经为root MySQL用户设置了密码,但在连接到MySQL shell时,帐户并不配置为使用密码进行身份验证。稍后再谈这个。%替换localhost。注意:不要在所有的管理活动中使用root。如果您有一个特定于您的帐户,即使它可以完全访问整个系统,也会更好。只有在绝对必要时,例如在配置复制或修复损坏的数据库时,才应该使用root。这样,现在您可以在您的MySQL服务器上创建CentOS数据库(S)的备份。为此,您需要两个连接:一个连接到MySQL,另一个连接到可以使用mysqldump的shell。
mysql.user表经历了许多模式更改。-u或输入密码,因为这意味着在Ubuntu上具有sudo访问权限的人具有完全权限,因此没有必要为mysql设置另一个密码。--no-create-info选项是在将user数据写入磁盘时使用的,因此没有不必要地删除表的风险。如果有任何架构差异,将报告一个错误,您需要手动解决这些问题。关于MySQL用于其设置的各种配置文件,没有人说过什么,这是因为我不可能对该做什么提供一个适当全面的大纲。我对您的服务器硬件、数据库或系统的使用情况一无所知。我能推荐的是:
我不建议将.cnf文件从CentOS复制/粘贴到Ubuntu,因为这不太理想。
虽然这个答案很长,而且看起来很复杂,但在我的经验中,它通常是从一个服务器和/或操作系统转移到另一个服务器和/或操作系统的最可靠的方法。
https://dba.stackexchange.com/questions/291814
复制相似问题