对于当前需求场景进行mysql直接服务器拷贝,经过测试是可行的
假设现有数据库在A机,需还原数据库为B机
备份还原两种情况:
1、B机没有安装mysql数据库的情况
拷贝时需要进行全服务拷贝服务文件、配置文件、数据文件
在linux默认安装的mysql情况下 需拷贝项有
目录:
1、/var/lib/mysql (/var/lib/mysql目录的时候该目录的所有者 必须为mysql用户)
2、/usr/share/mysql
文件:
3、/usr/bin/下所有my开头的所有文件 my*
4、/etc/rc.d/init.d/下所有mysql开头文件所有文件 mysql*
5、/usr/sbin/下所有mysql开头文件 mysql*
6、/etc/my.cnf mysql参数配置文件
2、B机已经安装mysql数据库
1、进行文件拷贝前首先需要停止当前mysql服务
2、删除B机数据库自带的数据文件即/var/lib/mysql下的文件
3、删除B机mysql配置文件/etc/my.cnf
4、这时只需拷贝两项即可
5、/var/lib/mysql (/var/lib/mysql目录的时候该目录的所有者必须为mysql用户)
6、/etc/my.cnf mysql参数配置文件
所有都拷贝完成后,启动B机mysql数据库,这时B机的所有数据库配置与A机都是一样的
注:该方案只适应特殊情况下的备份还原需求
*首先需要还原的数据库中不能有历史数据,即使有数据也需要全部删除即/var/lib/mysql下不能有原始系统数据
*其次还原过程中B数据库必须是关闭状态,不能进行在线还原