修改了my.cnf放到/etc/mysql/目录下边之后,systemctl stop mysql 之后重启报错如下
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
systemctl status mysql.service 之后显示的
Aug 3 10:36:16 ubuntu systemd[1]: mysql.service: Control process exited, code=exited status=1
Aug 3 10:36:16 ubuntu systemd[1]: Failed to start MySQL Community Server.
Aug 3 10:36:16 ubuntu systemd[1]: mysql.service: Unit entered failed state.
Aug 3 10:36:16 ubuntu systemd[1]: mysql.service: Failed with result 'exit-code'.
Aug 3 10:36:16 ubuntu systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Aug 3 10:36:16 ubuntu systemd[1]: Stopped MySQL Community Server.
Aug 3 10:36:16 ubuntu systemd[1]: Starting MySQL Community Server..
这主要是因为修改了datadir的路径没有修改/etc/apparmor.d/usr.sbin.mysqld中datadir中的信息
apparmor控制了应用的目录访问权限,所以mysql是绕不开它的。修改“/etc/apparmor.d/usr.sbin.mysqld”文件。
将其中默认的data目录是:
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
把这两行修改为移动过的的实际的数据文件目录,例如:
/my data path/ r,
/my data path/** rwk,
保存,执行 service apparmor restart 重启apparmor服务。
systemctl restart apparmor
之后对mysql进行初始化
mysql --initialize
初始化之时可能会出现两个
1、can't find messagefile 'usr/local/mysql/share/english/errmsg.sys'.....Fatal error: Can't change to run as user 'mysql';Please check that the user
2、The innodb_system data file 'ibdata1' must be writable
对于错误1是因为没有指定正确的语言文件位置。需要在my.cnf中添加
[mysqld]
language =.... 最好找到原来数据库的语言位置 如我的为/usr/share/mysql/english
对于错误2是因为指定的datadir 没有写权限
chown -R mysql:mysql 'your data path'
chmode -R 777 'your data path'
可能需要多次初始化才哪成功。每次初始化失败之后,再次初始化之前一定将datadir目录下的文件清空干净
rm -rf ib*
初始化成功之后,记录mysqld 生成的root首次登录的密码,之后可以重启mysql ,使用root账户登录,登录成功无法进一步操作,需要修改密码
alter user 'root'@'localhost' identified by 'your password'
备注:每次操作之后都可以在/var/log/mysql/error.log 看到mysql启动的日志
也可以查看ubuntu的系统日志/var/log/syslog
[Ubuntu修改MySQL默认数据库目录](http://lizhenliang.blog.51cto.com/7876557/1612778)
[Ubuntu16.04 配置mysql并修改存储路径的艰难之旅](http://blog.csdn.net/baiyufairy/article/details/70478611)
[MySQL5.1启动错误:Can’t find messagefile '..errmsg.sys'](http://blog.chinaunix.net/uid-9370128-id-271953.html)