我创建了一个以“/Volumes/x”作为数据目录的 mysql 实例。我想将其移至“Volumes/y”。但是,这会引发一个错误,指出 mysql 表不存在并且数据库存在致命错误。
有没有办法将数据目录移动到不同的位置?
当我尝试移动数据目录时,出现以下错误。顺便说一句,我用新路径的位置更新了 /etc/my.cnf。我仍然收到这些错误。
130219 19:26:33 [注意] 插件 'FEDERATED' 已禁用。 /usr/local/mysql/bin/mysqld: 表 'mysql.plugin' 不存在 130219 19:26:33 [错误] 无法打开 mysql.plugin 表。请运行 mysql_upgrade 来创建它。 130219 19:26:33 InnoDB:InnoDB 内存堆被禁用 130219 19:26:33 InnoDB:互斥锁和 rw_locks 使用 GCC atomic builtins 130219 19:26:33 InnoDB:压缩表使用 zlib 1.2.3 130219 19:26:33 InnoDB:初始化缓冲池,大小=2.0G 130219 19:26:33 InnoDB:缓冲池初始化完成 130219 19:26:33 InnoDB:支持的最高文件格式是梭子鱼。 130219 19:26:33 InnoDB:等待后台线程启动 130219 19:26:34 InnoDB:5.5.30 开始;日志序列号 1593283 130219 19:26:34 [注意] 服务器主机名(绑定地址):'0.0.0.0';端口:3306 130219 19:26:34 [注] - '0.0.0.0' 解析为 '0.0.0.0'; 130219 19:26:34 [注意] 在 IP 上创建的服务器套接字:'0.0.0.0'。 130219 19:26:34 [错误] 缺少系统表 mysql.proxies_priv;请运行 mysql_upgrade 来创建它 130219 19:26:34 [错误] 无法打开和锁定特权表:表 'mysql.servers' 不存在 130219 19:26:34 [错误] 本机表 'performance_schema'.'events_waits_current' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'events_waits_history' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'events_waits_history_long' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'setup_consumers' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'setup_instruments' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'setup_timers' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'performance_timers' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'threads' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'events_waits_summary_by_thread_by_event_name' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'events_waits_summary_by_instance' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'events_waits_summary_global_by_event_name' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'file_summary_by_event_name' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'file_summary_by_instance' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'mutex_instances' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'rwlock_instances' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'cond_instances' 的结构错误 130219 19:26:34 [错误] 本机表 'performance_schema'.'file_instances' 的结构错误 130219 19:26:34 [错误] mysql.db 的列数错误。预期 22,发现 20。使用 MySQL 50091 创建,现在运行 50530。请使用 mysql_upgrade 修复此错误。 130219 19:26:34 [错误] mysql.user 在位置 29 处没有“Event_priv”列 130219 19:26:34 [错误] 无法打开 mysql.event 130219 19:26:34 [错误] 事件调度程序:初始化系统表时出错。禁用事件调度程序。 130219 19:26:34 [注意] /usr/local/mysql/bin/mysqld:准备连接。 版本:'5.5.30' 套接字:'/tmp/mysql.sock' 端口:3306 MySQL 社区服务器(GPL)
我运行了 mysql_upgrade,下面是输出,如果之后我重新启动,则没有错误。我仍然担心为什么我会看到错误。
/usr/local/mysql/bin/mysql_upgrade: '--datadir' 选项总是被忽略 寻找“mysql”为:/usr/local/mysql/bin/mysql 寻找“mysqlcheck”为:/usr/local/mysql/bin/mysqlcheck 使用连接参数运行 'mysqlcheck':'--port=3306' '--socket=/tmp/mysql.sock' 使用连接参数运行 'mysqlcheck':'--port=3306' '--socket=/tmp/mysql.sock' bala_test.bala_1 好的 bala_test.bala_2 好的 mysql.columns_priv 确定 mysql.db 好的 mysql.func 好的 mysql.help_category 错误:需要表升级。请执行“修复表`help_category`”或转储/重新加载以修复它! mysql.help_keyword 错误:需要表升级。请执行“REPAIR TABLE `help_keyword`”或转储/重新加载以修复它! mysql.help_relation 确定 mysql.help_topic 错误:需要表升级。请执行“修复表`help_topic`”或转储/重新加载以修复它! mysql.host 好 mysql.proc 错误:需要表升级。请执行“REPAIR TABLE `proc`”或转储/重新加载以修复它! mysql.procs_priv 错误:需要表升级。请执行“REPAIR TABLE `procs_priv`”或转储/重新加载以修复它! mysql.tables_priv 好的 mysql.time_zone 好的 mysql.time_zone_leap_second OK mysql.time_zone_name 错误:需要表升级。请执行“修复表`time_zone_name`”或转储/重新加载以修复它! mysql.time_zone_transition OK mysql.time_zone_transition_type OK mysql.user 确定 修理桌子 mysql.help_category OK mysql.help_keyword 确定 mysql.help_topic 好的 mysql.proc 好的 mysql.procs_priv 好的 mysql.time_zone_name 确定 运行“mysql_fix_privilege_tables”... 好的