我试图让MySQL指向在我的EC2机器上挂载的EBS卷上的一个目录。
我采取了以下步骤:
/etc/init.d/mysqld stop ) – 成功 mkdir /vol/mysql ) cp -R /var/lib/mysql /vol/mysql ) chown -R mysql:mysql /vol/mysql ) – 在这一步之后,这两个目录是相同的。 编辑/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
没有其他错误可用。
谢谢!
我采取了加思的build议,并用sh -x运行脚本。 我发现访问mysql.sock文件时存在权限问题。 所以我把旧文件放在conf文件中,再次运行,ta-da工作,并从新的位置运行!
感谢Gareth向我展示道路。 我给了你一个评论的+1,但你没有发表一个答案。
希望这个问题能够帮助其他一些试图这样做的人。
尝试使用绑定装载原始path。
然后显示:
/vol/etc/mysql on /etc/mysql type none (rw,bind) /vol/lib/mysql on /var/lib/mysql type none (rw,bind) /vol/log/mysql on /var/log/mysql type none (rw,bind)
和configuration文件仍然像以前一样:
socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql