MySQL迁移无法启动
故障原因:
将原来的数据文件位置从 /data/
移动到 /dbdata/data/
目录后,并修改了 /etc/my.cnf
文件中相应的目录位置,启动 mariadb 时报了上面的错误。
虽然已经把 /etc/my.cnf 中的所有路径都修改正确了,但是mysql服务在启动时,是通过读取log-bin-index来查找log-bin日志文件的,查找的文件还是在服务器指定的位置,所以mysql服务启动失败。
解决方案:
手动修改 mysql-bin.index 文件中二进制日志索引文件的绝对路径,指定到当前datadir下的二进制日志,然后尝试启动mysql服务,启动成功,问题解决。
以下是发给客户的操作文档。文笔拙劣,还请见谅。
前言
- 一、查看数据
移动硬盘迁移MySQL数据内容为ext4格式(Windows默认不识别)
使用Ext2Fsd-0.69工具可让Windows识别硬盘方可查看
- 二、使用数据
因业务是部署在Linux系统上,所以启动MySQL数据库尤为重要
1. 临时查看请保持硬盘连接。如挂载在/mnt目录下,直接各个mysql指定文件
cp /mnt/10-57/mysql3307/support-files/mysql.server /etc/init.d/mysql3307
2. 如果要拷贝到服务器上使用,请cp -a挂载目录 指定目录
例:cp -R /mnt /home 再进行下述操作
挂载及使用操作
一、挂载
- 将硬盘插入Linux系统服务器 或 虚拟机 选择连接到虚拟机
- lsblk命令查看发现多出/dev/sdb1硬盘,且没有被挂载(sdb1是系统按顺序命名可能不一样,注意查看容量大小)
- mount /dev/sdb1 /mnt命令,将硬盘挂载到/mnt目录下
- 进入/mnt目录,再进入10-5*/目录,mysql*目录,以下用
- 修改my.conf和support-files/mysql.server配置文件,将路径修改为当前挂载目录
vim support-files/mysql.server
修改binlog/master-bin.index里路径
二、取消挂载
即可拔掉移动硬盘(取消挂载相当于Windows系统安全弹出硬盘)