Mysql更换datadir详细步骤,适合全平台全版本

最近在安装CDH,需要安装数据库,选择了mysql。mysql使用的是rpm安装方式,默认存储路径为/var/lib/mysql,如果等后期数据量大了之后可能会引起系统盘撑爆的情况,所以提前做好更换数据目录的工作。这个方法折磨了我两三天,自己试了无数次才解决!

环境:Centos 7.3 Mysql5.6,理论上这个方法适合所有系统和mysql版本

1、关闭SELinux或者AppArmor

Centos:SELinux

Ubuntu:AppArmor

这个东西是系统的一种保护机制,需要关闭,否则更改mysql配置会出错,下面我以centos举例

检测selinux状态

[root@test ~]# getenforce
Enforcing

输出为 Enforcing表示开启,Disabled表示关闭,Permissive表示警告,如果是非关闭状态就要进行修改

修改为关闭状态:

# 在控制机器上修改内容
vi /etc/selinux/config
SELINUX=disabled 

重启后生效,再查看状态 getenforce显示Disabled

2、更换datadir

先查看mysql状态(后面所有命令根据mysql版本和系统版本不同而有所差异

[root@test ~]# service mysql status
 SUCCESS! MySQL running (1134)

注意:

1、如果mysql处于开启状态就必须要先停止

2、如果mysql刚安装就必须要先启动一次再关闭,因为启动会有一些东西初始化,否则待会启动会各种报错

3、如果mysql是关闭的就可以不用管

关闭mysql

[root@test ~]# service mysql stop
Shutting down MySQL.. SUCCESS!

创建需要更换的data目录(最好是非系统盘)

mkdir -p /opt/mysql/data

查看原来的datadir位置,一般是在**/usr/my.cnf或者/etc/my.cnf**,如果实在找不到就全盘找 find / -name "my.cnf"

如果my.cnf中的datadir为空的话,那就表示数据目录在默认目录为 /var/lib/mysql

将原来的数据拷贝到新的目录并赋予mysql用户权限(重要,负责启动会报权限不够)

cp -r /var/lib/mysql/* /opt/mysql/data/
chown -R mysql:mysql /opt/mysql

修改 my.cnf

[mysqld]
datadir=/opt/mysql/data

启动mysql

[root@test opt]# service mysql start
Starting MySQL. SUCCESS!

大功告成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值