修改了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的路徑?jīng)]有修改/etc/apparmor.d/usr.sbin.mysqld中datadir中的信息
apparmor控制了應(yīng)用的目錄訪問權(quán)限滓鸠,所以mysql是繞不開它的冀瓦。修改“/etc/apparmor.d/usr.sbin.mysqld”文件必搞。
將其中默認的data目錄是:
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
把這兩行修改為移動過的的實際的數(shù)據(jù)文件目錄屠列,例如:
/my data path/ r,
/my data path/** rwk,
保存没佑,執(zhí)行 service apparmor restart 重啟apparmor服務(wù)原叮。
systemctl restart apparmor
之后對mysql進行初始化
?mysql --initialize?
初始化之時可能會出現(xiàn)兩個
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 =.... ? ?最好找到原來數(shù)據(jù)庫的語言位置 ?如我的為/usr/share/mysql/english
對于錯誤2是因為指定的datadir 沒有寫權(quán)限
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的系統(tǒng)日志/var/log/syslog
[Ubuntu修改MySQL默認數(shù)據(jù)庫目錄](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)