zoukankan      html  css  js  c++  java
  • windows下更换MySql数据库数据文件夹位置

    详细解决地址 ,感谢博主  :https://blog.csdn.net/u010953266/article/details/56499361

    概述

    由于更换硬盘,系统重新安装了一遍,原来的mysql数据还在之前的磁盘中,之前的磁盘被作为外接硬盘挂在在笔记本上,处于最小化迁移成本的考虑,我这里准备在新的系统中安装一个新的数据库,然后将数据库的数据文件夹指向之前的数据库的数据文件夹

    基本准备

    mysql安装包
    数据库数据文件夹(默认位置为C:ProgramDataMySQLMySQL Server 5.7Data,其他情况请参照下面的配置过程)

    操作过程

    安装mysql数据库

    找到mysql的配置文件所在位置
    打开services.msc,找到Mysql服务
    查看属性找到C:Program FilesMySQLMySQL Server 5.7inmysqld.exe” –defaults-file=”C:ProgramDataMySQLMySQL Server 5.7my.ini 这样的配置
    –default-file后面的就是配置文件的路径

    修改数据库数据文件夹位置
    打开配置文件找到如下配置(@是为了markdown下正常显示,请忽略)

    @# Path to the database root
    @# datadir=C:/ProgramData/MySQL/MySQL Server 5.7Data

    将datadir后面的路径修改掉就行了

    重启mysql服务器即可完成配置
    其他问题

    如果想讲原来的数据文件夹移动到其他位置
    数据库数据文件夹下面的ibdata1和其他文件夹拷贝到目标目录,其他为日志文件,建议不要带走,否则可能会影响到新的数据库环境。

    新安装的数据库操作的时候会报1577错误,Cannot proceed because system tables used by Event Scheduler were found damaged at server start
    这个问题可能是你安装的数据库版本号不同,两者在event这张表上存在的差别,所以导致错误。
    可以在mysql安装根目录的bin下打开cmd窗口
    执行 mysql_upgrade -u root -p –force
    最近重启一遍mysql服务器解决

    参考资料

    http://www.cnblogs.com/wawahaha/p/4373493.html
    http://xiaoboss.iteye.com/blog/1432874

  • 相关阅读:
    STL中set底层实现方式? 为什么不用hash?
    main 主函数执行完毕后,是否可能会再执行一段代码?(转载)
    计算机网络(转载)
    2014! 的末尾有多少个0
    最常见的http错误
    内存分配(转载)
    delphi中指针操作符^的使用
    虚拟方法virtual的用法
    调用父类方法
    指针
  • 原文地址:https://www.cnblogs.com/java-123/p/10555535.html
Copyright © 2011-2022 走看看