Over a million developers have joined DZone.

Stretching your Disk Space on Amazon's MySQL Server

DZone's Guide to

Stretching your Disk Space on Amazon's MySQL Server

· Cloud Zone ·
Free Resource

Learn how to migrate and modernize stateless applications and run them in a Kubernetes cluster.

If you deal with large databases, you will probably need more than the provisioned storage of the default Amazon AMI (8GB).

The following 10 steps guide will help you expand your disk meet your business needs:
  1. Create a new storage volume at the Amazon console (or using AWS API). Make sure it is big enough to accommodate storage, log files, bin files and future growth. Notice! verify the new drive is in the same availability zone as the target instance.

  2. Write down the mount name you chosen. For example: /dev/sdf.

  3. Mount the disk to your system according to Chris Dean post:

    1. sudo mkfs.ext3 /dev/sdf where /dev/sdf is the mount name you chose.

  4. Shutdown the MySQL daemon: sudo /etc/init.d/mysql stop

  5. Move your current MySQL data directory to a temporary directory: sudo mv /var/lib/mysql  /var/lib/mysql.old

  6. Recreate the MySQL data directory and provide the needed permissions:

    1. sudo mkdir /var/lib/mysql

    2. sudo chown mysql:mysql  /var/lib/mysql

  7. Mount the new disk to the new directory:

    1. Add another line to /etc/fstab (sudo vi /etc/fstab): /dev/sdf /var/lib/mysql ext3 defaults 1 2

    2. Mount the disk: sudo mount /var/lib/mysql

    3. Verify everything is Okay with df

  8. Move the files from the temporary directory back to the new data directory sudo mv /var/lib/mysql.old/* /var/lib/mysql

  9. Remove the old directory: sudo rmdir  /var/lib/mysql.old

  10. Restart you MySQL: sudo /etc/init.d/mysql start

Bottom Line
A combination of cloud knowledge, Linux sysadmin, MySQL expertise and careful work will help you go through the scale and growth challenges.

Join us in exploring application and infrastructure changes required for running scalable, observable, and portable apps on Kubernetes.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}