-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
1、关掉数据库:sudo /etc/init.d/mysql stop
2、数据库文件目录相关调整:
1)修改其拥有者及所属群组为mysql:mysql:sudo chown mysql:mysql /media/ubuntu/develop/mysqldb
2)修改mysql配置文件: sudo gedit /etc/mysql/my.cnf:
将datadir=/var/lib/mysql 改为 datadir=/media/ubuntu/develop/mysqldb
3)修改ubuntu中的安全设置:sudo gedit /etc/apparmor.d/usr.sbin.mysqld
将原来的
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
更换成
/media/ubuntu/develop/mysqldb/ r,
/media/ubuntu/develop/mysqldb/** rwk,
4)重启 AppArmor服务使生效,执行:sudo /etc/init.d/apparmor restart
(AppArmor是一个linux底层程序,负责监控linux上的应用程序,只要跟注册的资料权限不符,路径不对,就不能执行。修改完成后,要重启 AppArmor服务才能生效。)
3、重新初始化数据文件,执行: sudo mysql_install_db
4、启动MySQL数据库服务:sudo /etc/init.d/mysql start
PS:
1)适用于 apt-get 方式安装 的MySQL 。
2)按以上步骤执行,执行到初始化数据文件这一步,失败。估计是一些目录权限方面引起的,暂不去解决(经过反复折腾,基本可以确定原因:想要修改成为的目录所在的是非ext分区,这导致了修改后mysql启动不成功,而 mysq_install_db 失败并没有什么太大关系 ),还原设置,OK。
3)我修改DB设置的目的是想恢复原Windows下的MySQL数据库,于是试着将原数据库copy到var/lib/mysql/下,然后修改其拥有者及所属群组,重启MySQL;登录进去发现原数据库能访问了,OK,问题解决。