我试图让 MySQL 指向我安装在我的 EC2 机器上的 EBS 卷上的目录。
我采取了以下步骤:
- 已停止 MySQL (
/etc/init.d/mysqld stop
) - 成功 - 在我的卷上创建了一个 MySQL 目录,挂载在 /vol (
mkdir /vol/mysql
) - 将 /var/lib/mysql 的内容复制到 /vol/mysql (
cp -R /var/lib/mysql /vol/mysql
) - 更改了该目录的所有者和组以匹配原始 (
chown -R mysql:mysql /vol/mysql
) - 在此步骤之后,这 2 个目录是相同的。 编辑 /etc/my.cnf 文件(注释 2 条原始行):
[mysqld] \#datadir=/var/lib/mysql \#socket=/var/lib/mysql/mysql.sock datadir=/vol/mysql socket=/vol/mysql/mysql.sock
启动 MySQL (
/etc/init.d/mysqld start
) -失败
错误文件 /var/log/mysqld.log 包含以下几行:
100205 20:52:54 mysqld started
100205 20:52:54 InnoDB: Started; log sequence number 0 43665
100205 20:52:54 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.45' socket: '/vol/mysql/mysql.sock' port: 3306 Source distribution
没有其他错误可用。
- 我究竟做错了什么?
- 我在哪里可以找到 MySql 遇到的错误?
- 如果我恢复原始行,MySQL 就会启动,这让我相信这可能是一个权限问题——但是两个目录的权限是一样的吗?
谢谢!
我接受了 Garth 的建议并使用
sh -x
.mysql.sock
我发现访问文件时存在权限问题。所以我把旧的留在了 conf 文件中,再次运行它,ta-da 它可以工作并从新位置运行!感谢 Gareth 给我指路。我在评论中给了你+1,但你没有发布答案。
希望这个问题能帮助其他一些尝试做同样事情的人。
尝试使用绑定挂载原始路径。
安装然后显示:
并且配置文件仍然看起来像以前一样: