今天想把已经导入数据的mysql打包起来发送给不会用数据库的人,因为不知道对方会解压到哪个目录,所以希望把mysql的数据目录配置成相对目录。在网上搜了一下,好像都说只能用绝对路径,或者是通过batch生成配置文件
但是,通过实践证明,mysql是可以配置相对路径的。。。。。。
原先的默认datadir是C盘底下的xxx目录,到那个目录把data文件夹复制到mysql的安装目录底下,比如 F:\program files\MySQL\MySQL Server 5.5\data里(安装目录里本来就有个data文件夹) 也就是说数据文件是在 F:\program files\MySQL\MySQL Server 5.5\data\data里
打开my.ini,修改配置项
datadir="./../data/data"
./当前目录表示的是mysql的bin文件夹,也就是说相对路径./../指的就是mysql的安装路径
重启mysqld.exe 即可,发现是可以用的!
补充: 后来发现,相对路径是相对于在哪个目录底下启动的mysqld.exe
比如,写一个批处理程序 test.bat,放在MySQL目录下,
内容为
start "MySQL Server 5.5\bin\mysqld.exe"
那么./当前目录指的是MySQL目录,如果不更改my.ini相对路径,mysqld.exe启动会错误,因为data的相对路径不正确,批处理命令要改成
cd "MySQL Server 5.5\bin\"
start mysqld.exe
原创,转载请标明源
http://asyty.iteye.com/blog/1236683