# MySQL(MariaDB)使用说明
## 概述
为了提升MySQL数据库访问性能,提高数据存储稳定性,延长外部Flash存储的使用寿命,在新版本固件和opt文件系统中,我们把MySQL的数据文件放到了ramdisk (/tmp)下,然后在停止MySQL服务器时把数据库打包备份到opt文件系统,而在MySQL服务启动时从备份中装入数据库到/tmp下。同时,还可以根据业务需要,增加一个计划任务来每天备份数据库。
## MySQL启动流程
1. 由S70mariadb init脚本负责mysql服务器的启动和停止;
2. 系统启动时或手工执行`S70mariadb start`时,从/opt下找.db.tgz文件,若有则解压,若没有则继续找`.initdb.tgz`(初始的空数据库),找到后解压;
3. 启动mysqld。
## MySQL停止流程
1. 关机或执行`S70mariadb stop`时,把/tmp/db整体打包保存至/opt/.db.tgz;
2. 终止mysqld进程。
## 初始化业务数据库
```sh
echo 'create database parking;' | mysql -uroot -padmin
mysql -uroot -padmin parking <test.sql
mysql_save
cp /opt/.db.tgz /opt/.initdb.tgz # 可选
reboot
```
## 定时备份
```sh
crontab -e
# 增加一行:
0 2 * * * /opt/bin/mysql_save
```