func toMySQLVersion(v string) (MySQLVersion, error) {
	version := MySQLVersion{0, 0, 0}
	tmp := strings.Split(v, "-")
	if len(tmp) == 0 {
		return version, errors.NotValidf("MySQL version %s", v)
	}
	tmp = strings.Split(tmp[0], ".")
	if len(tmp) != 3 {
		return version, errors.NotValidf("MySQL version %s", v)
	}
	for i := range tmp {
		val, err := strconv.ParseUint(tmp[i], 10, 64)
		if err != nil {
			return version, errors.NotValidf("MySQL version %s", v)
		}
		version[i] = uint(val)
	}
	return version, nil
}
version format:
mysql        5.7.18-log
mariadb      5.5.50-MariaDB-1~wheezy
percona      5.7.19-17-log
aliyun rds   5.7.18-log
aws rds      5.7.16-log
ref: https://dev.mysql.com/doc/refman/5.7/en/which-version.html
v is mysql version in string format.
package check
import (
	"context"
	"fmt"
	"math"
	"strconv"
	"strings"
	"github.com/go-sql-driver/mysql"
	"github.com/pingcap/errors"
	"github.com/pingcap/tidb-tools/pkg/utils"
)
type MySQLVersion [3]uint
var MinVersion = MySQLVersion{0, 0, 0}
var MaxVersion = MySQLVersion{math.MaxUint8, math.MaxUint8, math.MaxUint8}