MySQL 移动数据目录后启动失败

Windows显卡TDR超时导致Unity崩溃?手把手教你修改注册表延长响应时间 本文详细解析了Windows显卡TDR超时导致Unity崩溃的问题,并提供了修改注册表延长响应时间的完整解决方案。通过调整TdrDelay和TdrDdiDelay键值,开发者可以有效避免D3D11设备丢失错误,提升Unity编辑器的稳定性。文章还包含显卡驱动优化、系统性能调优等实用技巧,帮助开发者彻底解决编辑器崩溃问题。 阅读详情
  • GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
  • GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。
  • 作者: 王权富贵
  • 文章来源:GreatSQL社区投稿

背景概述

由于安装数据库时将MySQL的数据目录放在了根目录下,现在存储空间不足,想通过mv将数据目录移动到其他目录下,但将数据目录移动到其他数据目录后,启动数据库失败。

问题复现

本次测试基于 MySQL 8.0.31

1.关闭数据库

mysql> shutdown;
Query OK, 0 rows affected (0.02 sec)

2.查看当前数据目录所在位置

shell> pwd
/mysql80

3.通过mv移动整个MySQL数据目录到其他目录

shell>  mv /mysql80 /data
shell>  cd /data/mysql80/svr
shell>  ln -s mysql-8.0.31-linux-glibc2.12-x86_64 mysql

4.修改属主属组

shell> chown -R mysql.mysql /data

5.修改配置文件中数据目录的地址

shell> sed -i 's#/mysql80#/data/mysql80#g' my5001.cnf

6.启动数据库

shell> /data/mysql80/svr/mysql/bin/mysqld_safe \
--defaults-file=/data/mysql80/conf/my5001.cnf --user=mysql &

此时启动数据库失败,错误日志报错如下:

mysqld: File '/mysql80/dbdata/data5001/log/binlog.000012' not found (OS errno 2 - No such file or directory)
2023-02-27T10:38:09.240576+08:00 0 [ERROR] [MY-010958] [Server] Could not open log file.
2023-02-27T10:38:09.240657+08:00 0 [ERROR] [MY-010041] [Server] Can't init tc log
2023-02-27T10:38:09.240718+08:00 0 [ERROR] [MY-010119] [Server] Aborting
2023-02-27T10:38:10.548605+08:00 0 [System] [MY-010910] [Server] /data/mysql80/svr/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.31)  MySQL Community Server - GPL.

这里报错显示找不到binlog文件,并且报错显示的binlog的目录还是之前的,但是配置文件中的目录已经修改

shell> grep 'log-bin' my5001.cnf 
log-bin=/data/mysql80/dbdata/data5001/log/binlog
log-bin-trust-function-creators

7.问题解决

最后通过查找发现 binlog.index 文件中存放着每个binlog文件的绝对路径地址,这里的路径还是之前路径,内容如下:

shell> cat binlog.index 
/mysql80/dbdata/data5001/log/binlog.000001
/mysql80/dbdata/data5001/log/binlog.000002
/mysql80/dbdata/data5001/log/binlog.000003
/mysql80/dbdata/data5001/log/binlog.000004
/mysql80/dbdata/data5001/log/binlog.000005
/mysql80/dbdata/data5001/log/binlog.000006
/mysql80/dbdata/data5001/log/binlog.000007
/mysql80/dbdata/data5001/log/binlog.000008
/mysql80/dbdata/data5001/log/binlog.000009
/mysql80/dbdata/data5001/log/binlog.000010
/mysql80/dbdata/data5001/log/binlog.000011
/mysql80/dbdata/data5001/log/binlog.000012

修改binlog.index文件中binlog的绝对路径:

shell> sed -i 's#/mysql80#/data/mysql80#g' binlog.index
shell> cat binlog.index 
/data/mysql80/dbdata/data5001/log/binlog.000001
/data/mysql80/dbdata/data5001/log/binlog.000002
/data/mysql80/dbdata/data5001/log/binlog.000003
/data/mysql80/dbdata/data5001/log/binlog.000004
/data/mysql80/dbdata/data5001/log/binlog.000005
/data/mysql80/dbdata/data5001/log/binlog.000006
/data/mysql80/dbdata/data5001/log/binlog.000007
/data/mysql80/dbdata/data5001/log/binlog.000008
/data/mysql80/dbdata/data5001/log/binlog.000009
/data/mysql80/dbdata/data5001/log/binlog.000010
/data/mysql80/dbdata/data5001/log/binlog.000011
/data/mysql80/dbdata/data5001/log/binlog.000012

8.启动数据库

shell> /data/mysql80/svr/mysql/bin/mysqld_safe 
--defaults-file=/data/mysql80/conf/my5001.cnf --user=mysql &

数据库启动成功。

9.作为从节点

需要注意的是,如果该实例还作为其他实例的从节点,还需要设置 relaylog.index 文件中relay log的绝对路径,否则会报如下错误: 错误日志报错:

2023-02-27T15:56:55.224372+08:00 0 [ERROR] [MY-010599] [Repl] log /mysql80/dbdata/data5002/log/relaylog.000002 listed in the index, but failed to stat.
2023-02-27T15:56:55.224422+08:00 0 [ERROR] [MY-011059] [Repl] Error counting relay log space.
2023-02-27T15:56:55.226571+08:00 0 [ERROR] [MY-010426] [Repl] Slave: Failed to initialize the master info structure for channel ''; its record may still be present in 'mysql.slave_master_info' table, consider deleting it.
2023-02-27T15:56:55.226622+08:00 0 [ERROR] [MY-010529] [Repl] Failed to create or recover replication info repositories.

执行 start replica 时也会报错:

# 客户端报错
mysql> start replica;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

# error log报错
2023-02-27T15:57:53.858798+08:00 8 [ERROR] [MY-013124] [Repl] Slave SQL for channel '': Slave failed to initialize relay log info structure from the repository, Error_code: MY-013124

10.问题解决

修改 relaylog.index 文件中relay log的绝对路径

sed -i 's#/mysql80#/data/mysql80#g' relaylog.index

重新启动数据库,并启动主从复制

# 重启实例
mysql> restart;

# 启动主从复制
mysql> start replica;

此时主从复制恢复正常。

总结

  1. 搭建数据库前应提前规划并确定存储位置及磁盘大小,以及之后数据量增长情况,避免磁盘空间不足时导致数据库不能正常使用。
  2. 当我们手动进行数据目录的移动时,不仅需要修改配置文件中数据目录的路径,还需要修改 binlog.index relaylog.index 文件中binlog及relaylog的绝地路径,否则启动时可能出报错,并且不能正常建立主从关系。

Enjoy GreatSQL :)

关于 GreatSQL

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

image

社区有奖建议反馈: https://greatsql.cn/thread-54-1-1.html

社区博客有奖征稿详情: https://greatsql.cn/thread-100-1-1.html

社区2022年度勋章获奖名单: https://greatsql.cn/thread-184-1-1.html

(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)

技术交流群:

微信&QQ群:

QQ群:533341697

微信群:添加GreatSQL社区助手(微信号:wanlidbc )好友,待社区助手拉您进群。

新手必看:如何用T265和ROS实现无人机室内精准定位(附PX4参数配置) 本文详细介绍了如何使用Intel Realsense T265和ROS实现无人机室内精准定位,包括硬件准备、ROS数据流架构设计、PX4参数配置及系统验证。特别针对视觉SLAM技术在室内环境中的应用,提供了从零搭建到进阶优化的全流程解析,适合无人机开发新手快速上手。 阅读详情

相关推荐

告别网络卡顿!保姆级教程:用国内镜像源5分钟搞定ESP32开发环境(Arduino IDE)

本文提供了一份保姆级教程,教你如何利用国内镜像源在5分钟内快速搭建ESP32开发环境(Arduino IDE),告别网络卡顿问题。教程详细介绍了镜像源配置、开发板安装、测试程序烧录等步骤,并包含与巴法云对接的实战案例,帮助开发者高效完成物联网项目。

weixin_42536058的博客 589

更改数据目录后,MySQL启动失败?

编译安装的MySQL,需要更改数据目录,更改后重启失败的原因;重新初始化数据库方法

T_LOYO的博客 2655

模块 stm32_基于STM32设计的RFID读卡模块电路方案(原理图+程序)

采用stm32F030F4,用PWM产生125KHZ的方波,经过推挽电路进行功率放大,高频电流进入LC串联谐振电路,345uH和4.7NF的谐振频率正好是125KHZ,这时电容两端电压会到十几伏。当有卡接近线圈时,线圈两端会有曼彻斯特编码的调幅波。通过二极管以及电容的检波和滤波,产生的小信号送入LM358进行放大和整形,变成单片机可以读取的曼彻斯特编码信号。• IO 分配(采用内部晶...

weixin_28686771的博客 3815

Slave failed to initialize relay log info structure from the repository, Error_code: MY-013124

架构:3节点MGR,单主模式 现象:在第三个节点启动组复制时报出:Slave failed to initialize relay log info structure from the repository, Error_code: MY-013124错误,errlog日志显示如下: 022-02-28T11:48:27.033637Z 8 [Warning] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Automatic

u013469501的博客 1832

有限元分析必看:如何用ANSYS检查关键区域的网格质量(附操作截图)

本文聚焦有限元分析中决定仿真精度的关键环节,详细讲解了如何利用ANSYS Workbench对关键区域进行网格质量检查与优化。文章提供了从思维转变、实战操作到指标解读的完整流程,强调通过命名选择、Worksheet过滤器等工具实现定向检查,并给出了针对结构分析的关键区域网格质量阈值建议,帮助工程师提升仿真结果的可靠性与效率。

weixin_29200741的博客 466

PTGui使用教程

PTGui使用教程为啥使用ptgui开始使用ptgui 为啥使用ptgui ptgui是一个全景拼接软件,在海思hi3559上做视频拼接的时候,需要拼接参数,这是就需要使用到ptgui,这里可以在该网站下下载ptgui:下载地址 开始使用ptgui 第一步,加载图片,我这里添加了三幅图 然后添加控制点(可以先多对准几次图像,这样会自动生成一些控制点,但是不保证准确),建议控制点不要太密集 点开镜头设置,勾选以下几个选项以及配置好镜头类型,如下图 点开优化器,在高级界面中配置如下参数,最后点

what_wrong的博客 1万+

windows 11 mysq8 数据文件目录迁移后mysql服务无法正常启动

1、问题产生背景: mysql8安装完成后,由于默认数据库文件路径在系统盘下,我的系统盘C盘只分了100G,无法容纳较大的数据库,所以修改了数据库文件存储路径为E盘下的目录。修改生效后做了简单的验证,已验证修改后的目录已生效。 生效后我就将迁移前目录下的文件进行了删除,删除后mysql服务就无法正常启动了。 1)迁移前目录 2)迁移后目录 删除迁移前的目录后,mysql服务就无法正常启动了 2、问题原因查明与解决 问题原因是mysql配置文件中有2个参数(datadir、secure-file-priv

weixin_39650920的博客 3740

Keil AC6编译器独立安装与配置指南:不升级Keil MDK也能用上新工具链

本文详细介绍了如何在不升级Keil MDK的情况下独立安装和配置Arm Compiler 6(AC6),帮助嵌入式开发者充分利用AC6的编译速度、代码密度和现代语言支持优势。通过零侵入式解决方案,开发者可以在现有环境中灵活切换编译器版本,提升开发效率。

weixin_30872157的博客 552

MySQL8修改数据存储目录

一、安装好MySQL8,安装方法网上有很多我就不说了 二、停止mysql服务 三、打开C:\ProgramData\MySQL\MySQL Server 8.0下的my.ini 四、将my.ini里的datadir的值修改为你要替换的路径 五、将C:\ProgramData\MySQL\MySQL Server 8.0里Data文件夹下的文件copy一份到你新的存储路径里 六、重启mysql服务,大功告成 PS:一开始我在C:\Program Files\MySQL\MySQL Server 8.0下找了半

菜鸟的格纳库 1048

ESP32-S3驱动OV3660摄像头原理图设计,已量产

本文重点拆四条主线:多来源输入电源如何收敛到 3V3,摄像头三路供电如何拆分,ESP32-S3 如何接住 DVP 数据流与外部存储,以及音频/补光/传感外围怎样挂到主控边上。至于最终图像帧率、算法策略和软件时序,当前原理图未体现。

不脱发的程序猿 982

c++对halcon的动态链接库dll封装及调用(细细讲)

本文详细介绍了将Halcon图像处理算法封装为C++动态链接库(DLL)的完整流程,包括7个关键步骤:1)封装Halcon函数并导出CPP文件;2)在C++项目中配置Halcon环境(包含目录、库目录设置);3)验证Halcon代码;4)创建DLL项目并进行环境配置;5)编辑DLL并导出生成文件(.dll、.lib、.h);6)在主项目中配置DLL调用环境;7)编写测试代码验证功能。通过这个流程实现了Halcon算法的模块化封装和复用,文中提供了具体的配置路径和代码示例,重点说明了环境配置细节和文件结构安排

Tianwen_running的博客 967

mysql出现加载目录错误怎么处理_mysql更改数据目录步骤与错误(ERROR 2002 (HY000))处理方法...

1,关闭mysql服务: service mysqld stop 2,创建新建的目录 mkdir -p data 3,把以前的目录转移到新的数据目录 mv /var/lib/mysql/ /data/ 4,编辑my.cnf vi /etc/my.cnf 修改其中的datadir和socket到新的路径 [mysqld] datadir=/data/mysql ...

weixin_31879641的博客 553

ubuntu下安装多版本cuda及版本切换教程

首先,从官网下载所需版本的cuda安装包,下载链接。选择对应版本后,会跳转到该版本的配置信息页面。比如我是ubuntu20.04系统,已经安装好了cuda10.0,但是现在还需要用到cuda9.0。那么,在选定版本后,配置信息如下图所示(由于Version选项中没有20.04,因此我们随便选一个即可,这里选的16.04,这一选项不会影响后面的安装),Installer Type选择为runfile(因为使用deb文件进行安装的话,可能会将已经安装的较新的显卡驱动给替换掉),选择好之后点击Base Insta

zeeq的博客 3万+

MySQL移动数据目录出现权限问题

MySQL移动数据目录出现权限问题 环境: ubuntu 14.04.4 LTS 现象 今天把/var/lib/mysql下的数据文件移动到其他目录下,之后发现启动mysql报错,并且mysql无法运行。具体的操作如下 # service mysql stop # mv /var/lib/mysql /data # serivce mysql start 报出的错误信息为: 170425 9:5...

weixin_34001430的博客 82

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

mysql启动命令指定data目录_CentOS 7下MySQL的data目录更改后,使用mysqld服务启动失败...

在CentOS 7系统下,通过rpm和yum命令安装MySQL,一般会采取service mysqld start命令来启动MySQL。在MySQL的配置文件/etc/my.cnf中,默认的data路径是:/var/lib/mysql,socket的默认路径是/var/lib/mysql/mysql.sock。为了数据安全问题,一般会将MySQL的data路径进行修改,在修改路径后,都会遇到一个普...

weixin_31437717的博客 675

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

记一次磁盘挂载导致mysql服务启动失败的问题

服务器某个目录(/data目录)磁盘空间已满,并且该目录下有个子目录还是mysql的数据存储目录(/data/mysql);采用额外新增一块数据盘,并将该数据盘挂载到/data目录下的方式解决磁盘空间不足的问题

can_chen的博客 1482

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

linux mysql datadir_CentOS 7 下 修改Mysql 5.7datadir的位置,无法启动的问题解决

CentOS 7 下MySQL 默认安装在/var/lib/mysql目录下,但是随着存储数据的增多,所在的硬盘空间很快被占满,导致无法进行插入、建表等操作。这时需要将mysql数据存储文件夹移植到别的文件夹下,网上有很多教程,如http://www.cnblogs.com/5201351/p/4912614.html,是一篇很好的教程,但是在实际移植过程发现,只有Mysql的数据文件夹/var/...

weixin_26732855的博客 879

mysql修改数据库存放位置

安装了 mysql 之后,默认数据库位置是在 mysql 的根目录下的 data 文件夹内。由于个人习惯不喜欢数据和应用文件放在一起,想修改数据库文件位置,在根目录的 my.ini (没有就可以建一个)可以修改的 修改数据库路径 比如 mysql 的安装目录在 D:\Program Files\mysql 但是数据库想放在 E 盘,新建了 mysql_basedata 的文件夹,在 my.ini(没有就建一个) 里面的 [mysqld] 项添加 #Path to the database root

这是个什么博客 5305

mysql安装目录迁移_liunx mysql数据库目录迁移

1、查看mysql安装目录从目录etc/my.cnf中查看安装目录2、进入mysql目录,停止mysql服务命令: cd usr/local/mysql命令:service mysqlstop3、移动整个mysql目录命令:cp -rf /usr/local/mysql/ home/mysql4、修改my.cnf文件中mysql位置,并保存[client]default-character-s...

weixin_35340730的博客 222

WIN SERVER8更改MYSQL的datadir后,数据库启动不起来

曾经一直都没注意的问题。这次就记录下来吧。假设有相同问题的也当做一个提示 WIN SERVER8更改MYSQL的datadir后,数据库启动不起来,详细原因有二。 首先。先来看一下怎样更改 datadir 文件夹,由于我安装的时候直接默认在C盘,所以这里以C盘做介绍。这里打开C:\ProgramData\MySQL\MySQL Server 5.6 找到 my.ini...

weixin_34274029的博客 117

ubuntu mysql datadir_ubuntu10.04下修改mysql的datadir的问题

昨天由于服务器空间告紧,需要将mysql的datadir从默认的/var/lib/mysql移到/usr/local/mysql下,操作如下:1.修改了/etc/mysql/my.cnf,改为:datadir = /usr/local/mysql2.cp -a /var/lib/mysql /usr/local/3./etc/init.d/mysql start问题出现了,系统报错了,无法启动my...

weixin_29205061的博客 161

mysql文件软连接失败_Ubuntu_Mysql_搬动数据存储位置_软连接失败_软连接var目录失败...

linux系统对权限的控制很好,但也成为各种问题的多发地,毕竟大家pc用习惯了,诸如访问权限等的很多安全问题根本不在考虑范围。目的:把我的ubuntu中存放mysql数据的地方换个磁盘,因为满了,或者担心现在测试数据太多方法1:把整个/var目录切换如新的磁盘失败。见这里的分析:Ubuntu下移动/var目录到单独分区后出现的一些问题方法2:把/var/lib/mysql用软连接目录切换到/hom...

weixin_30598047的博客 435

ubuntu 打开mysql配置文件_Ubuntu下修改MySQL数据库存储位置

----------------------------------------------------------------------------------------------------------------------------------------------------------1、关掉数据库:sudo /etc/init.d/mysql stop2、数据库文件目录相关...

weixin_39545805的博客 956

linux数据盘如何挂载、初始化、已安装的mysql如何挂载mysql到挂载盘

https://support.huaweicloud.com/qs-evs/evs_01_0034.html 挂载其实就是这个路径下,存的都是挂载的盘的内容 使用linux下的软连接方法,具体操作如下:(以迁移到/home/mysql/目录为例) 先停止mysql: /etc/init.d/mysqld stop 移动数据: mv /var/lib/mysql/* /home/mysql/ 创建软连接: ln -s /home/mysql/ /var/lib/mysql/ 启动mysql: /etc/in

无术不学的博客 507

mysql linux 目录权限_Linux 中文件和文件夹获取 MySQL 权限(SELinux)

今天在 Linux 系统上移动 MySQL 的数据库目录配置如下:/etc/my.cnf[mysqld]datadir=/home/mysqlsocket=/var/lib/mysql/mysql.sock更改完配置文件重启MYSQL的时候出现的以下问题110222 11:15:07 mysqld_safe Starting mysqld daemon with databases from /h...

weixin_35977784的博客 113

CentOS6.5修改mysql数据文件路径

1.停止mysql服务 service mysql stop 2.移动数据文件位置(保留原文件权限) cp -a /var/lib/mysql /mysqldata 3.修改/etc/my.cnf [client] socket=/mysqldata/mysql/mysql.sock [mysqld] ...

dieqiao2880的博客 191
上一篇: MySQL8.0 优化器介绍(三)
下一篇: 分布式编译系统的搭建
GreatSQL社区
博客等级 码龄5年 1210粉丝 390原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值