Mysql将存储位置切换到一块新的磁盘上

  1. 准备一块新的磁盘,并格式化为与当前根分区相同的文件系统,创建目录并挂载磁盘

    ]#fdisk -l #查看磁盘信息

    ]#fdisk /dev/sdb #进行分区

    ]# df -T #可以查看到根分区的文件系统类型

    ]#mkfs.xfs /dev/sdb1 #将新的磁盘分区格式化

    ]#mkdir /data

    ]#mount /dev/sdb1 /data #挂载磁盘

    或者写入/etc/fatab文件中,添加一行:/dev/sdb1 /data xfs defaults 0 0 开机自动挂载

    ]#df -h //确认挂载结果

  2. 停止数据库服务,修改配置文件

    ]#systemctl stop mysqld

    ]#vim /etc/my.cnf

datadir=/data/mysql
      socket=/data/mysql/mysql.sock
      log-error=/data/log/mysqld.log 
      log_bin=/data/mysql/bin-log
      log-bin-index=/data/mysql/bin-log.index
   [client]
      socket=/data/mysql/mysql.sock    #mysql客户端sock默认是去读取/var/lib/mysql/mysql.sock ,所以需要在配置文件中添加客户端的sock配置。
]#vim  /data/mysql/bin-log.index
   修改binlog索引文件,重新指定binlog的存放路径。
  1. 创建相应目录,更改权限。迁移数据库目录。

    ]#chown -R mysql:mysql /data

    ]#mkdir /data/log

    ]#mv /usr/lib/mysql /data/

  2. 启动服务,查看更改结果。

    ]#systemctl start mysqld

    进入数据库

    mysql >show variables like ‘datadir’;

    #可以看到数据库的存储位置,查看数据是否正确。

    mysql>show variables like ‘%sock%’;

    #查看sock文件位置,也可以查看/data/相应目录下数据是否正确。

防火墙关闭,selinux处于Disabled状态。

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的