文章内容

2020/10/26 21:49:31,作 者: 黄兵

如何更改MySQL数据目录?

最近在服务器上新安装了3块1.2T的硬盘,组成RAID 5阵列,将数据库移到新装的硬盘上面,具体步骤如下:

查看MySQL数据存放路径:

mysql -uroot -p
mysql> show variables like '%data%';

datadir是存放路径,如下图所示:

这里的默认路径我已经更改了,是个截屏是事后截屏,本文主要说操作过程。

1、使用以下命令停止MySQL:

sudo /etc/init.d/mysql stop

2、将原来的目录文件复制到新的目录,使用如下命令:

sudo cp -R -p /var/lib/mysql /newpath

3、编辑如下文件:

sudo gedit /etc/mysql/my.cnf
# or perhaps /etc/mysql/mysql.conf.d/mysqld.cnf

4、将datadir的路径更改成新的路径,之后保存文件

5、更改如下路径文件:

sudo vim /etc/apparmor.d/usr.sbin.mysqld

增加如下内容(需要注意:这里的路径是新的路径):

/newpath/ r,
/newpath/** rwk, 

这里修改的是AppArmor,关于AppArmor的具体介绍见下方。

6、修改完成之后,保存文件,重新加载AppArmor配置文件,执行如下命令:

sudo service apparmor reload 

7、重新启动MySQL服务,执行如下命令:

sudo /etc/init.d/mysql restart

这样就完成了更改MySQL默认数据保存位置。


AppArmor介绍:

AppArmor (“Application Armor”,意为“应用盔甲”) 是一个Linux内核安全模块,允许系统管理员通过每个程序的配置文件限制程序的功能。如它的帮助页面所说,“AppArmor 是一个对内核的增强工具,将程序限制在一个有限的资源集合中。AppArmor 独特的安全模型将对访问属性的控制绑定到程序而非用户。


参考资料:

1、How to change MySQL data directory?

2、MySQL won't start after changing the datadir (14.04, mysql 5.7)

3、AppArmor

4、Ubuntu查看MySQL的数据库data存放路径


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - 如何更改MySQL数据目录?

分享到:

发表评论

评论列表