编辑
2023-12-14
database
00
请注意,本文编写于 547 天前,最后修改于 547 天前,其中某些信息可能已经过时。

目录

ubuntu下修改mysql默认data路径

ubuntu下修改mysql默认data路径

由于ubuntu默认的mysql路径是在/var/lib/mysql下,很多时候我们如果没有挂载其它分区在/var的时候,随着网站逐渐浏览和添加内容,数据容量也会越来越大,自然磁盘空间也会比较吃紧。因此我们就需要把mysql的data路径转移到其它目录下。

今天在转移的时候走了不少弯路,最后经过反复尝试后得到了比较精简的步骤,提炼如下。

设置新data路径(假设新路径为/data/mysql)这里需要说明的就是,最开始我图省事使用了mv来移动,随后发现在设置完路径后mysql无法访问。因此为了保险起见还是按照这里的步骤来吧。

#建立新的路径 sudo mkdir -p /data/mysql #复制数据 sudo cp -a /var/lib/mysql/* /data/mysql #修改文件夹权限 sudo chown -R mysql:mysql /data/mysql #修改配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf #查找并用#注释以下 datadir = /var/lib/mysql #新增 datadir = /data/mysql

需要提醒的是:单只修改mysql的config文件是不够的,在你重启mysql服务的时候会发现启动失败。原因则是ubuntu里有一个访问控制系统apparmor,因此我们还需要在这里修改一下才能完全成功。

#修改安全保护文件 sudo vim /etc/apparmor.d/usr.sbin.mysqld #查找并用#注释以下两节 /var/lib/mysql/ r, /var/lib/mysql/** rwk, #新增 /data/mysql/ r, /data/mysql/** rwk, #修改访问控制文件 sudo vim /etc/apparmor.d/abstractions/mysql #注释掉 /var/lib/mysql/mysql.sock rw #新增 /data/mysql/mysql.sock rw #重启服务(必须重启才能生效对apparmor的修改) /etc/init.d/apparmor restart /etc/init.d/mysql restart

这时候再访问就会发现已经修改成功了,数据的读写都经由新路径实现。

本文作者:Allen Tang

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!