本来很简单的事,为何这么复杂,转目录后经常不成功。mysql安装时就不能指定数据目录吗?老是默认在C盘
测试环境Windows10, mysql5.7,以下是测试记录:
1. 复制Data到D盘下,如d:mysqlData,右键安全中,给network Service(网络服务,可以在服务中查看mysql服务是哪个用户启动的,在任务管理器中看mysqld.exe的启动用户是哪个,可能是System用户)用户增加全部权限。
2. 修改c盘下的my.ini文件,datadir="d:/temp/Data",然后重启成功。
3. 经测试datadir后面的文件目录是否加引号,都可以
4. 经测试datadir后面的目录分隔一定要/,而不能是
5. 以上测试除了系统数据库外,我还创建有一个test数据库,并有一个innoDB表,都没问题。
6. 这次测试一次成功,但以前在其他机器上(Windows 2008, 2016等)有时成功,有时失败,虽然我知道可能是目录权限问题,我改成everyone都有全部权限仍然不行,很是郁闷。
以上只是整个datadir目录转移,单独数据库转移以前测试过,也是有时成功有时失败,真是差劲。mysql官网说以前方式不再支持,只支持目录链接方式。
后记:
原来是my.ini文件在修改datadir后,保存时自动改成了utf8,重启打开以ansi保存,再重启服务好可。
启动服务如果出错,则直接在命令行执行mysqld.exe试试(参考mysql服务中的指令),看看输出什么错误信息,此指令可以做个批处理,成为绿色mysql吧。
参考:https://www.cnblogs.com/YueJinSanQian/p/9596711.html