接今早的mysql问题,最终原因是mysql数据库的数据库文件以及pid丢失,当我还纳闷为什么丢失的情况下
我研究了下Azure云平台的数据磁盘原理,在Azure下,新建vm(centos)后只会提供一个30g的系统盘,已经一个
596的tmp盘,也就是临时系统磁盘,并且该磁盘挂载的位置为/mnt/resource/,在该目录下有一个数据存储警告
大概的意思就是告诉你这个是一个临时数据盘,不建议存储数据,不可恢复,今早mysql的根本原因就在于当时不熟
mysql的运维人员直接利用了这个596g磁盘作为数据盘,二进制日志等一切文件都在此处放着,然后早上就是不幸的
出故障了,该临时磁盘数据全部丢失,mysql也就不见了,所以幸运的是当时mysql没有安装到这个位置,只是数据存储到
这里,并且我有备份和从数据库,再切换到奥从数据库后,应用正常,我便开始修复主库,也是在修复主库的时候,发现临时磁盘
这一一回事,所以按照教程我新建了持久化磁盘。大概步骤就是:
1、在azure操作后台附件空磁盘
2、ls -l /dev/sd* 查看新添加的磁盘名称,一般为sdc,因为sda为系统盘,sdb为临时盘。
3、fdisk /dev/sdc 根据需要创建磁盘,如果单一的数据库,就是创建一个pri主盘,创建后分区就是sdc1。
4、用命令行初始化文件系统 mkfs -t ext4 /dev/sdc1
5、最挂载磁盘,新建文件夹data作为新的数据持久磁盘,把磁盘挂载到data文件夹 mount /dev/sdc1 /data。
6、修改文件夹权限供相应人员使用。
7、为了持续保持挂载关系,建议修改/etc/fstab文件,映射关系。