如何将 mySQL 中的数据目录重新定位到外部驱动器(macintosh)?

如何将 mySQL 中的数据目录重新定位到外部驱动器(macintosh)?

我读过一些关于人们安装 MySQL 的故事,他们遇到内置硬盘空间不足的问题,所以将数据文件移到了外部驱动器。

我已经完成了我认为使用 mySQL 8.0.21 执行此操作的步骤,使用首选项窗格 MySQL / 配置为数据文件指定新位置。我首先/usr/local/mysql-8.0.21-macos10.15-x86_64/data在外部驱动器上复制了该文件。当我尝试启动 mySQL 时,指示灯短暂闪烁绿色,然后变回红色。错误如下:

mysqld: File './binlog.index' not found (OS errno 1 - Operation not permitted)
2020-08-16T06:05:24.079096Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.21) starting as process 52332
2020-08-16T06:05:24.161137Z 0 [Warning] [MY-010091] [Server] Can't create test file /Volumes/mySQLPartition/data/mysqld_tmp_file_case_insensitive_test.lower-test
2020-08-16T06:05:24.161149Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /Volumes/mySQLPartition/data/ is case insensitive
2020-08-16T06:05:24.169722Z 0 [ERROR] [MY-010119] [Server] Aborting 2020-08-16T06:05:24.169919Z 0 [System] [MY-010910] [Server] /usr/local/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.21) MySQL Community Server - GPL

我可以说,我尝试过将外部卷作为区分大小写和不区分大小写的卷,以及 HFS+ 和 APFS 卷。无论如何,我都会收到有关区分大小写的文件系统的相同错误消息。

/Volumes/mySQLPartition/data我已使用 MySQL 偏好设置窗格的“配置”选项卡将数据目录设置为外部卷数据文件。

权限设置如下:

sudo chown -R _mysql:_mysql data/
sudo chmod -R a+wrx data/

答案1

我找到了一个解决方法。我将其列为答案,因为它远非理想。我绕过了 launchcd 和首选项窗格 mySQL,因为我无法解决导致我的启动不断终止的 binlog 索引问题。

我可以使用以下命令在命令行上启动 mySQL:

sudo /usr/local/mysql/bin/mysqld_safe --datadir=/Volumes/mySQLPartition/data/data --user=mysql --disable-log-bin &

我禁用了日志但无需禁用它也能正常工作。

我最初创建了外部数据文件,如下所示:

cd [到您想要数据的位置] sudo mkdir -p data sudo chown -R _mysql:_mysql data sudo chmod 750 data cd /usr/local/mysql

bin/mysqld --initialize --user=mysql --datadir=/Volumes/mySQLPartition/data/data

这有效。首选项窗格显示 mySQL 处于活动状态(绿灯亮起),但它不会控制 mySQL,甚至首选项窗格“停止 MySQL 服务器”也不会起作用。

我希望能够使用首选项窗格来正确控制 mySQL。但至少这是在运行 OS 10.15.6 的外部 Mac 驱动器上处理 mySQL 数据的一种解决方法

相关内容