在之前的项目中,数据系统的数据量比较大,占用的磁盘空间比较大,所以单独拿出一个磁盘放mysql数据库
1.先复制数据库到相应的位置(我怕直接move,没用又的move回来)
复制数据库文件夹/var/lib/mysql 到/data/文件夹下面,
cp的参数中R是复制文件夹,p保证各个文件的权限和原来的是一样的,
ps:没有参数p的时候,后面权限用户和权限组要重新设计
sudo cp -Rp /var/lib/mysql /data/
2.先关停mysql数据库
sudo systemctl stop mysql
3.修改数据库的配置文件,一般在/etc/mysql/my.cnf或者/etc/my.cnf
修改里面的datadir路径
datadir=/data/mysql
4.修改apparmor.d下面的mysqld配置文件(apparmor.d是访问控制系统)
cd /etc/apparmor.d/
sudo vim usr.sbin.mysqld
在里面找到mysql的存储路径,并且修改(这是我已经修改好的数据,里面找data dir)
![](https://img.haomeiwen.com/i12236457/8b67bc44de9e2a48.png)
修改好后保存退出,然后对配置文件进行重新加载
sudo /etc/init.d/apparmor reload
5.开启mysql
sudo systemctl start mysql
错误情况
一般问题就是复制的文件权限,或者是访问权限(apparmor.d)配置有问题
1.文件权限很有可能是复制文件夹的时候没有加上p参数,mysql用户文件没有权限
解决办法:
首先找到mysql的配置文件,看下里面的user是什么,一般是user=mysql
再查看原先mysql存储文件的权限和权限组,LL 查看
chown命令修改权限
chown -R mysql:mysql mysql/
2.就是按照上面配置apparmor.d文件
网友评论