今天装完mysql后,由于导入的数据文件过大,默认路径磁盘空间不够,只好又挂载了一个磁盘。由于不在根目录下,所以需要将数据库datadir修改到新目录下,修改了/etc/mysql/my.cnf之后,再次启动,死活启动不了,各种百度谷歌,折腾一天,报各种错。有的说是权限问题,有的说是selinux的问题,无论怎么改,还是不行。最后在一个帖子的回答中看到下边这个,试着改了下,感觉要成功 了~~~~
改完之后启动mysql,依然报错,重启了下 /etc/init.d/apparmor restart 还是不行。。。。
继续百度,看到下边这个
但是在自己机器上执行报错,原来是mysql版本的问题,修改后
mysqld --initialize --user=mysql --basedir=/xx/mysql/ 成功。
如果有遇到下边同样的问题
我的mysql目录是因为没授权,另外必须清空basedir(/xx/mysql/) 目录才行。
然后重新将mysql的数据文件拷贝至/xx/mysql/ 目录下,重启成功。
如果使用mysql -u root -p 连接mysql时,报/var/run/mysqld/mysqld.sock 找不到的话,需要在mysql配置文件加上
[mysqld]
socket = /xx/run/mysqld/mysqld.sock
[client]
socket=/xx/run/mysqld/mysqld.sock
[mysql]
socket=/xx/run/mysqld/mysqld.sock
三个都加上,只加[mysqld]的话,还是会报错。。。。
改个mysql的数据文件路径这么麻烦。。。。😭