linux上mysql数据库迁移

时间:2022-10-30 14:20:28

服务器退役或架构调整都会涉及到数据库的迁移。下面以mysql为例介绍一种数据库迁移方法。

环境:两台服务器:A、B(都有mysql环境),其中A服务器的mysql数据库向B服务器迁移

1.尽量保持mysql版本一致(版本差别过大可能有影响),安装目录可以不同

2.停止A、B上的mysql服务:mysqladmin shutdown

3.删除B服务器上mysql的数据存储目录下的数据库文件,默认3g个数据库(INFORMATION_SCHEMA,MySQL,TEST)的文件除外

4.拷贝A服务器上mysql数据存储目录下的数据库文件,默认3g个数据库(INFORMATION_SCHEMA,MySQL,TEST)的文件除外,到B服务器上mysql的数据存储目录

5.启动B服务器mysql服务:/usr/local/mysql/bin/mysqld_safe &,检查是否能够正常启动

6.进入数据库,查看数据是否完整


注:

1.数据库都是以目录的形式存在于数据存储目录下,如下图默认数据库mysql、test所示:

linux上mysql数据库迁移

目录内是该数据库文件,包括了数据库的信息,mysql-bin.*文件是配置了主从数据库同步后产生的文件,用来同步数据库修改信息,迁移时需要删除这些文件

2.数据库文件种类:

myIsam引擎:表定义文件-*.frm,数据文件-*.myd,索引文件-*.myi

innodb引擎:表定义文件-*.frm,数据文件-ibdata1(在数据目录/var下,所有表的数据都在里面)


迁移过程中可能出现的问题:

1.报找不到xx数据库的xx.frm文件,原因是数据在A上打包传送到B时,目录与文件的所属组与用户变了,使用命令chgrp -R mysql XX 与chown -R mysql XX将数据库目录下所有文件的所属组与用户改成mysql即可