最近我已将 MySql 的数据文件夹移动到了其他文件夹,如我的配置文件下列的:
[mysqld] 端口= 3306 套接字=“D:/xampp/mysql/mysql.sock” basedir="D:/xampp/mysql" tmpdir="D:/xampp/tmp" datadir="我:/Dropbox/mysql/data" pid_file="mysql.pid" 跳过外部锁定 密钥缓冲区 = 16M 最大允许数据包 = 1M 表缓存 = 64 排序缓冲区大小 = 512K 网络缓冲区长度 = 8K 读取缓冲区大小 = 256K 读取缓冲区大小 = 512K myisam_sort_buffer_size = 8M log_error="mysql_error.log" innodb_force_recovery = 4 innodb_use_sys_malloc = 1
但是无法通过XAMPP控制面板启动mysql,下面是两个文件的内容:埃尔维斯·厄尔和mysql_错误日志。
120819 20:12:28 [注意] 插件‘FEDERATED’已被禁用。 InnoDB:InnoDB内存堆已禁用 InnoDB:互斥锁和 rw_locks 使用 Windows 互锁函数 InnoDB:压缩表使用 zlib 1.2.3 120819 20:12:28 InnoDB:初始化缓冲池,大小 = 128.0M 120819 20:12:28 InnoDB:缓冲池初始化完成 120819 20:12:28 InnoDB:支持的最高文件格式是 Barracuda。 InnoDB:ibdata 文件中的日志序列号不匹配 InnoDB:ib_logfiles 中的日志序列号! 120819 20:12:28 InnoDB:数据库未正常关闭! InnoDB:开始崩溃恢复。 InnoDB:从 .ibd 文件读取表空间信息... InnoDB:从双写中恢复可能半写的数据页 InnoDB:缓冲区... 120819 20:12:31 InnoDB:1.1.4 已启动;日志序列号 7527526 120819 20:12:31 [注意] 事件调度程序:已加载 0 个事件 120819 20:12:31 [注意] mysqld:已准备好连接。 版本:'5.5.8' 套接字:'' 端口:3306 MySQL 社区服务器(GPL)
的内容mysql_错误日志
120819 20:12:24 [注意] 插件‘FEDERATED’已被禁用。 InnoDB:InnoDB内存堆已禁用 InnoDB:互斥锁和 rw_locks 使用 Windows 互锁函数 InnoDB:压缩表使用 zlib 1.2.3 120819 20:12:24 InnoDB:初始化缓冲池,大小 = 16.0M 120819 20:12:24 InnoDB:缓冲池初始化完成 120819 20:12:24 InnoDB:文件操作中出现操作系统错误编号 3。 InnoDB:该错误表示系统找不到指定的路径。 InnoDB:如果你正在安装 InnoDB,请记住你必须创建 InnoDB:自己创建目录,InnoDB 不会创建它们。 InnoDB:文件名 G:\Dropbox\mysql\data\ibdata1 InnoDB:文件操作调用:‘创建’。 InnoDB:无法继续操作。
我需要处理两个问题。它们是:
- 从终端,我在 D:\xampp\mysql\bin 中运行 mysqld。然后使用 XAMPP 控制面板启动 mysql。它运行良好。
- 事实上,我将数据文件夹改为我:/Dropbox/mysql/数据但是mysql仍然提示错误:在之前移动的G:中未创建。
我的问题是:如何配置 mysql 以将数据文件夹移动到新文件夹?
我非常感谢所有帮助。
谢谢。
答案1
InnoDB:文件名 G:\Dropbox\mysql\data\ibdata1
您是否尝试将 MySQL 数据文件存储在文件共享服务上?
我认为这是非常不明智因为 DBMS 和文件共享服务都希望对二进制数据文件进行低级更改,这使得数据库很容易损坏。
将数据文件存储得尽可能“靠近”操作它们的进程,即数据库服务器进程。
答案2
看看这个:
“InnoDB:文件操作中出现操作系统错误 3。”
然后:
redmachine ~ # perror 3
OS error code 3: No such process
权限需要与旧文件夹相同,目录结构需要与旧数据文件夹相同。看起来您可能还需要修复那里的一些表。
看一下 mysql 列表上的这篇文章:http://lists.mysql.com/mysql/100211