数据库迁移-------通过ibdata1文件和数据库文件迁移

Posted wangchengshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库迁移-------通过ibdata1文件和数据库文件迁移相关的知识,希望对你有一定的参考价值。

根据老大需求将阿里云swarm集群的业务迁移出来,遇到问题:
容器数据库无法启动,但是全部的数据存放在NAS存储磁盘上,可通过nfs共享,但无sql文件
注意:这样数据迁移必须确保有数据库文件和ibdata1文件

步骤:
一、迁移服务器上配置容器数据库一样的版本
二进制安装mysql5.7.22,能正常启动
tar -xvf mysql5.7.22-linux-glibc2.12-x86_64.tar

二、nfs挂载NAS存储磁盘
mount -t nfs -o vers=3,nolock,proto=tcp,noresvport 123456:/ /mnt

三、清空数据库下所有文件,cp容器数据库文件到数据库数据目录下
rm -rf /data/mysql/*
cp -r /mnt1/mysql /data/mysql/
chown -R mysql.mysql /mnt4/mysql/

四、启动数据库,查看错误日志信息和报错信息

排错接近一小时后修改成一下配置文件启动成功:
[mysqld]
user = mysql #指定用户启动
basedir = /usr/local/mysql
datadir = /mnt4/mysql
socket = /tmp/mysql.sock
port = 3306
character-set-server = utf8
log-error = /var/log/mysql/mysql-error.log
pid-file = /mnt4/mysql/mysql_3306.pid
innodb_temp_data_file_path = ibtmp1:3000M:autoextend:max:5G #重点-启动数据库需要临时表空间,特别第一次启动。18M提升到3000M才无报错

启动mysql
/usr/local/mysql/bin/mysqld --user=mysql & #不指定用户启动报错

以上是关于数据库迁移-------通过ibdata1文件和数据库文件迁移的主要内容,如果未能解决你的问题,请参考以下文章

MySQL ibdata1文件迁移

如何防止 MySQL 的 ibdata1 文件过大

InnoDB--------独立表空间平滑迁移

如何用ibdata1文件恢复数据库

如何防止 MySQL 的 ibdata1 文件过大

如何防止 MySQL 的 ibdata1 文件过大