wiz

如何挂载Block Storage并将mariadb数据库文件存放到Block Storage上
VPS系统本身不占多大的空间,但是如果是爬虫类的网站的话,随着爬虫的不断爬取,数据库文件会占用越来越大的空间,那么...
扫描右侧二维码阅读全文
01
2020/05

如何挂载Block Storage并将mariadb数据库文件存放到Block Storage上

VPS系统本身不占多大的空间,但是如果是爬虫类的网站的话,随着爬虫的不断爬取,数据库文件会占用越来越大的空间,那么把数据库文件单独存放的话是一个比较好的方法。万一系统崩溃也不至于影响数据文件。
购买Block Storage之后需要经过三个步骤才能挂载到系统里:

1:建立分区

parted -s /dev/vdb mklabel gpt
parted -s /dev/vdb unit mib mkpart primary 0% 100%

2:创建文件系统

mkfs.ext4 /dev/vdb1

3:挂载到系统里

例如要将数据文件放到这个Block Storage里并且系统建立一个data目录,将Block Storage挂载到这个data目录

mkdir /data
echo >> /etc/fstab
echo /dev/vdb1      /data    ext4    defaults,noatime,nofail 0 0 >> /etc/fstab
mount /data

4:查看是否挂载成功

df -h

挂载成功.png

5:更改数据库文件存放位置

数据盘挂载好之后就是更改mariadb数据库文件存放的位置:

5.1:登陆数据库:

mysql -u root -p

然后输入密码

5.2:输入命令查看存放位置

select @@datadir;

注意别漏掉英文分号;

查看mariadb数据库文件存放位置.png

可以看到存放位置为/var/lib/mysql

5.3:关闭数据库

systemctl stop mariadb
systemctl status mariadb

注意看提示信息,确认数据库已经关闭。

停止数据库.png

5.4:复制数据库文件到新位置

将现有的数据库目录复制到新的位置用rsync 。 使用-a标志保留的权限和其他目录属性,而-v提供详细输出,以便能够看到安装进度。 注意:确保目录没有尾随斜线,如果你使用制表符完成可以加入。当有一个结尾的斜线, rsync将转储目录复制到安装点,而不是转移成一个包含内容mysql目录:

rsync -av /var/lib/mysql /data

复制数据库文件.png

5.5:将原数据库文件改为备份文件

mv /var/lib/mysql /var/lib/mysql.bak

5.6:编辑配置

vi /etc/my.cnf

将[mysqld]后的datadir与socket进行修改

datadir=/data/mysql

socket=/data/mysql/mysql.sock

在最后面添加

[client]

port=3306

socket=/data/mysql/mysql.sock

5.7:重新启动mariadb

systemctl start mariadb
systemctl status mariadb

重新执行步骤1与2查看数据库文件存放位置是否更改。
更改存放位置之后.png
下面是运行一晚上之后查看磁盘使用情况
运行一晚上之后占用的空间.png

可以看到爬取一晚上之后,使用了400m左右的空间。

Last modification:May 23rd, 2020 at 09:53 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment