使用ToughMySQL为ToughRADIUS系统提供数据存储

ToughMySQL是一个基于Docker技术的MySQL应用,一开始它就是为了ToughRADIUS提供一个简单可靠易用的数据库服务。

ToughRADIUS默认采用了SqLite存储数据,通常这足够运营上千的用户量了,不过当系统对数据的可管理性,系统的性能有更高的要求时,我们建议采用MySQL数据库来替换。

功能特性:

  • 实现MySQL Docker容器部署。
  • 提供针对不同服务器配置环境的优化配置。
  • 提供一键脚本快速安装。
  • 提供备份脚本,支持7天以上备份自动删除。
  • 提供主从,互为主备的快速配置。

快速指南

备份当前数据库

如果是首次安装,可略过,如果是迁移数据库,则务必进行备份。

安装脚本

tmshell是一个自动化安装和管理脚本,通过这个脚本,提供了很多有用的管理功能

$ wget https://github.com/talkincode/toughmysql/raw/master/tmshell -O /usr/local/bin/tmshell
$ chmod +x /usr/local/bin/tmshell
$ tmshell install

直接输入 tmshell 可以看到支持的指令操作

    usage: tmshell [OPTIONS] instance

        docker_setup                install docker, docker-compose
        pull                        mysql docker images pull
        install                     install default mysql instance
        remove                      uninstall mysql instance
        config                      mysql instance config edit
        status                      mysql instance status
        restart                     mysql instance restart
        stop                        mysql instance stop
        logs                        mysql instance logs
        showmaster                  mysql instance show master status
        showslave                   mysql instance show slave status
        upmaster                    mysql instance update master sync config
        backup                      mysql instance backup database
        dsh                         mysql instance bash term

    All other options are passed to the tmshell program.

完整的安装过程

安装过程是一个交互式的过程,根据实际情况修改具体参数

[[email protected] ~]# tmshell install
# 默认创建的mysql数据库用户
mysql user [raduser]:
# 默认创建的mysql数据库用户密码
mysql user password [radpwd]:
# 默认创建的mysql数据库名
mysql database [radiusd]:
# 默认mysqlroot密码
mysql root password [none]:
# 默认的mysql专用复制用户密码
mysql replication password [replication]:
# mysql服务端口
mysql port [3306]:
# 如果打算以热备模式部署,需要输入server id
mysql server id [1,2](default none): 1
# mysql服务使用的最大内存
mysql max memary [512M,1G,4G](default none):

ToughMySQL instance config:

instance name: mysql
mysql_user: raduser
mysql_password: radpwd
mysql_database: radiusd
mysql_root_password:
mysql_repl_password: replication
mysql_port: 3306
serverid: 1
mysql_max_mem:

database:
    container_name: db_mysql
    image: "index.alauda.cn/toughstruct/mysql"
    privileged: true
    ports:
        -"3306:3306"
    ulimits:
        nproc: 65535
        nofile:
            soft: 20000
            hard: 40000
        environment:
            - SERVERID=1
            - MYSQL_MAX_MEM=
            - MYSQL_USER=raduser
            - MYSQL_PASSWORD=radpwd
            - MYSQL_DATABASE=radiusd
            - MYSQL_ROOT_PASSWORD=
            - MYSQL_REPL_PASSWORD=replication
    restart: always
    volumes:
        /home/toughrun/mysql/dbmysql:/var/lib/mysql
        /home/toughrun/mysql/backup:/var/backup

Creating db_mysql
  Name          Command         State           Ports
----------------------------------------------------------
db_mysql   /usr/local/bin/run   Up      0.0.0.0:3306->3306/tcp

/home/toughrun/mysql/dbmysql 目录是映射到主机上的MySQL数据文件目录

/home/toughrun/mysql/backup 目录是映射到主机上的备份目录

时间: 2024-10-28 02:50:18

使用ToughMySQL为ToughRADIUS系统提供数据存储的相关文章

Android中StatFs获取系统/sdcard存储(剩余空间)大小

package com.orgcent.util; import java.io.File; import android.os.Environment; import android.os.StatFs; public class MemoryStatus { static final int ERROR = -1; /** * 外部存储是否可用 * @return */ static public boolean externalMemoryAvailable() { return andr

日均数十亿请求!京东评价系统海量数据存储高可用设计

京东的商品评论目前已达到数十亿条,每天提供的服务调用也有数十亿次,而这些数据每年还在成倍增长,而数据存储是其中最重要的部分之一,接下来就介绍下京东评论系统的数据存储是如何设计的. 整体数据存储包括基础数据存储.文本存储.数据索引.数据缓存几个部分. 基础数据存储 基础数据存储使用MySQL,因用户评论为文本信息,通常包含文字.字符等,占用的存储空间比较大,为此MySQL作为基础数据库只存储非文本的评论基础信息,包括评论状态.用户.时间等基础数据,以及图片.标签.点赞等附加数据.而不同的数据又可选

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之系统级存储模型

1.前言 关于存储系统体系架构,可以概述如下: 存储系统体系结构的形式 VMSA 存储属性   2. 存储系统体系结构 2.1.    地址空间 指令地址空间溢出 指令地址计算((address_of_current_instruction) + (size_of_executed_instruction))超过0xFFFF FFFF FFFF FFFF,PC变成不可知 2.2    Cache支持 Caches的一般行为 (1)Cache中已解锁的项不会一直驻留在cache; (2)Cache

Hadoop 系统的存储引擎和在线事务处理

Hadoop 引擎上的 SQL 有许多广泛的应用领域: 数据处理与在线分析处理(OLAP) 改进优化 在线事务处理(OLTP) 存储引擎: 今天 Hadoop 主要有三个存储引擎:分别是 Apache HBase.Apache Hadoop HDFS 和 Hadoop Accumulo.Apache Accumlo与 Hbase 非常相似,但它本是由 NSA 组织创建的项目,历史上特别看重系统的安全性,尤其在授权认证方面:在我们看来,HBase 现在已经将安全特性方面的工作加入到项目中了,这样的

.Net简单图片系统-本地存储和分布式存储

本地存储 所谓本地存储就是将上传图片保存到图片服务器的本地磁盘上. if (ConfigHelper.GetConfigString("SaveMode") == "Local") // 表示存储的是本地模式 { var hostname = request.QueryString["host"] ?? ""; if (hostname.StartsWith("www.")) { hostname = ho

多系统数据存储和交互思路

存储 1. 是否需要存储 ????是否只用来前端展示,数据量,查询处理复杂度,频率,是否可以通过共享数据库解决.不存储数据,直接通过接口实时获取,也可避免多个系统拥有的数据造成差异,尽量保持单一数据源,可简化开发. 2. 如何存储 ????尽量只存储必要的字段,减少维护成本:涉及金额等重要数据的变化,数据可按基础.实时.增量拆分存储.如一个产品,产品名称,规格等基础信息为一类,实时的售价,金额的变动增量,有利于分析变动幅度,变动原因等. 交互 1. 交互方式 ????即时Api.异步MQ.内部系

利用samba给mysql提供数据存储服务

利用samba部署wordpress (1) samba server导出/data/application/web,在目录中提供wordpress; (2) samba  client挂载nfs server导出的文件系统至/var/www/html: (3) 客户端(lamp)部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载samba  server导出的文件系统至/var/www/html:验正其wordpress是否可被访问: 要

android系统手机存储性能优化

一.存储性能增强之:路在何方? 二.存储性能增强之:emmc标准演进优化存储性能 三.存储性能增强之:wrapfs代替fuse,优化内置sdcard性能 四.存储性能增强之:f2fs代替ext4,优化data用户空间性能 五.存储性能增强之:新型io调度机制ROW 仅以此文总结2014年在存储性能方面的优化,及作为未来优化方向的指引!

学生选课系统数据存储用shelve

工程目录: #bin/run.py from core.main import Run Run.login() #core/ADM.py #-*-coding:utf-8 -*- __author__ = 'MrChu' import hashlib import shelve #shelve={'Student':[{'name':'xxx','passWord':'xxx','course':[]},{...},{...}], # 'Administrators':[{'name':'xxx