ubuntu下平滑修改mysqldata文件路径
起因:Ubuntu下apt-get 安装的MySQL数据文件默认在/分区下,aws默认分配的/分区为8G
线上新挂载的/data 分区磁盘暂时无法用到,为了避免数据快速增长而占满磁盘,我们需要平滑更改下
mysqldata 文件路径。
方法:
1:重要 必须先正常关闭MySQL!!!否则会导致MySQL迁移完毕后会造成数据丢失而无法启动,非正常关闭数据库无法启动解决办法:
删除掉如下文件重启数据库即可:
ibdata*
ib_logfile*
ib_logfile*
2:创建新的数据目录并复制其数据文件
mkdir -p /data/mysql
/var/lib/mysql/* /data/mysql/
chown -R mysql.mysql /data/mysql/
3:修改my.cnf datadir数据指向
vim /etc/mysql/my.cnf
#----------------------------
#datadir = /var/lib/mysql
datadir = /data/mysql/
#----------------------------
4:修改启动文件(不修改可能会导致启动的时候一直卡住)
vim /etc/apparmor.d/usr.sbin.mysqld
#把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
#改成
/data/mysql r,
/data/mysql/** rwk,
5:重启服务
/etc/init.d/apparmor restart
/etc/init.d/mysql restart
PS:
1:socket文件 可以直接在my.cnf里面进行指向修改:
socket = /var/run/mysqld/mysqld.sock
2:软连接方式
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步