由于要做一个数据库的测试,所以选了台虚拟机进行,无奈硬盘分的太小,数据太大. 只能把数据放到新的硬盘上.所以要更改数据库的存储位置.
1.新添加块硬盘,分区,挂载到/mysql下,新建lib文件夹.
1.1 copy数据库文件, cp -Rp /var/lib/* /mysql/lib/
1.2 修改lib权限为mysql. sudo chown mysql./mysql/lib/
2.然后修改/etc/mysql/f中的 datadir= /mysql/lib
3.由于我用的是Ubuntu9.04server,所以有个保护系统.所以需要修改/etc/apparmor.d/usr.sbin.mysqld,添加以下3行.
/mysql/lib/ rw,
/mysql/lib/** rw,
/mysql/lib rw,
至于为什么要中间一行,不加总会提示 启动时提示: ERROR 1018 (HY000) at line 2: Can't read dir of '.' (errno: 13) 虽然服务可以启动,但是数据库无法正常实用.耗费我好长时间为排这个错误.
4.重新初始化数据文件:执行sudo mysql_install_db
5.启动服务即可.