ToughMySQL是一個基於Docker技術的MySQL應用,一開始它就是爲了ToughRADIUS提供一個簡單可靠易用的數據庫服務。mysql
ToughRADIUS默認採用了SqLite存儲數據,一般這足夠運營上千的用戶量了,不過當系統對數據的可管理性,系統的性能有更高的要求時,咱們建議採用MySQL數據庫來替換。git
實現MySQL Docker容器部署。github
提供針對不一樣服務器配置環境的優化配置。sql
提供一鍵腳本快速安裝。docker
提供備份腳本,支持7天以上備份自動刪除。shell
提供主從,互爲主備的快速配置。數據庫
若是是首次安裝,可略過,若是是遷移數據庫,則務必進行備份。bash
tmshell是一個自動化安裝和管理腳本,經過這個腳本,提供了不少有用的管理功能服務器
$ wget https://github.com/talkincode/toughmysql/raw/master/tmshell -O /usr/local/bin/tmshell $ chmod +x /usr/local/bin/tmshell $ tmshell install
直接輸入 tmshell 能夠看到支持的指令操做tcp
usage: tmshell [OPTIONS] instance docker_setup install docker, docker-compose pull mysql docker p_w_picpaths 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.
安裝過程是一個交互式的過程,根據實際狀況修改具體參數
[root@i-jahnm3dt ~]# 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 p_w_picpath: "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 目錄是映射到主機上的備份目錄