MysqL数据存储目录迁移
1、停止MySQL的服务
sudo service mysql stop
2、查看数据库地址
cd /var/lib
3、查看MySQL的权限和用户组(这个目录下保存着MySQL的数据)
ll /var/lib
4、创建数据库迁移目录
sudo mkdir /mysqldata(在根目录下创建)
5、修改用户组和权限
sudo chown -vR mysql:mysql /mysqldata (-R递归修改,-v显示详细的处理信息)
su(获取root权限)
cp -av /var/lib/mysql/* /mysqldata/ (*代表mysql下的所有文件)
7、修改数据库配置文件
sudo vi /etc/mysql/mysql.conf.d/mysql.cnf
修改:找到datadir将其注释掉 如:#datadir = /var/lib/mysql
然后另起一行:datadir =/mysqldata
保存退出!
8、修改appormar 配置
sudo vi /etc/apparmor.d/user.sbin.mysqld
#/var/lib/mysql/ r,(将原来的注释掉)
#/var/lib/mysql/** rwk,(将原来的注释掉)
/mysqldata/ r,(新建)
/mysqldata/** rwk,(新建)
sudo service apparmor reload
10、启动MySQL
sudo service mysql start
11、登陆MySQL
mysql -u root -p
12、创建数据库
su
cd /mysqldata
1、停止MySQL的服务
sudo service mysql stop
2、查看数据库地址
cd /var/lib
3、查看MySQL的权限和用户组(这个目录下保存着MySQL的数据)
ll /var/lib
4、创建数据库迁移目录
sudo mkdir /mysqldata(在根目录下创建)
5、修改用户组和权限
sudo chown -vR mysql:mysql /mysqldata (-R递归修改,-v显示详细的处理信息)
sudo chmod -vR 700 /mysqldata(将mysqldata的权限改为和原mysql一样)
su(获取root权限)
cp -av /var/lib/mysql/* /mysqldata/ (*代表mysql下的所有文件)
7、修改数据库配置文件
sudo vi /etc/mysql/mysql.conf.d/mysql.cnf
修改:找到datadir将其注释掉 如:#datadir = /var/lib/mysql
然后另起一行:datadir =/mysqldata
保存退出!
8、修改appormar 配置
sudo vi /etc/apparmor.d/user.sbin.mysqld
修改为:
# Allow data dir access#/var/lib/mysql/ r,(将原来的注释掉)
#/var/lib/mysql/** rwk,(将原来的注释掉)
/mysqldata/ r,(新建)
/mysqldata/** rwk,(新建)
9、重启apparmor
sudo service apparmor reload
10、启动MySQL
sudo service mysql start
11、登陆MySQL
mysql -u root -p
12、创建数据库
create database Student;
su
cd /mysqldata
ll
上图表示数据存储目录迁移成功!
14、删除原数据库文件
rm -rvf /var/lib/mysql