美文网首页Linux学习|Gentoo/Arch/FreeBSD我用 LinuxLinux学习之路
手把手教你更改CentOS下的mysql数据库存储目录的位置

手把手教你更改CentOS下的mysql数据库存储目录的位置

作者: 繁著 | 来源:发表于2017-03-29 22:25 被阅读202次

@(linux)[Centos, mysql, datadir, centos]

前言

随着数据量逐渐增大,阿里云上原来的硬盘已经吃不消了,于是新买了一块硬盘挂载上去(具体如何挂载硬盘,请参考阿里云快速硬盘挂载教程!!!!!)。那么问题来了,如何将mysql的数据迁移到新的硬盘上?本文将手把手教你把数据无缝迁移到新的硬盘。

原来的位置:/var/lib/mysql
新的位置:/mnt/mysql_data/mysql

复制数据

cp -a /var/lib/mysql /home/mysql_data/

-a参数连同权限一起复制

修改配置数据

  1. /etc/my.cnf
    vim /etc/my.cnf
    datadir=/var/lib/mysql改为datadir=/mnt/mysql_data/mysql
    socket=/var/lib/mysql/mysql.sock改为socket=/mnt/mysql_data/mysql/mysql.sock
  2. /etc/init.d/mysqld
    vim /etc/init.d/mysqld
    get_mysql_option mysqld datadir "/var/lib/mysql改为get_mysql_option mysqld datadir "/mnt/mysql_data/mysql

建立一个mysql.sock的链接

ln -s /mnt/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock

重启数据库

service mysqld start

进入数据库查看目录更改是否成功

在数据库中执行show variables like '%dir%';

参考

CentOS Linux更改MySQL数据库目录位置

相关文章

网友评论

  • TryXD:请问为什么还需要到原目录的软连接 /var/lib/mysql/mysql.sock
    繁著:@TryXD 哦哦,我晕了,cnf文件里面设置了,就不用再软链接
    TryXD:@繁著 我刚测了没做软连接也可以用,my.cnf也改了新socket位置,楼主有空可以再试试:blush:
    繁著:@TryXD /var/lib/mysql/mysql.sock这个文件是默认的配置文件,不链接过来你新的就不能生效

本文标题:手把手教你更改CentOS下的mysql数据库存储目录的位置

本文链接:https://www.haomeiwen.com/subject/lagyottx.html