猿创征文|国产数据实战之docker部署mywebsql数据库管理工具(代码片段)

江湖有缘 江湖有缘     2023-03-18     726

关键词:

猿创征文 | 国产数据实战之docker部署MyWebSQL数据库管理工具

一、MyWebSQL介绍

1.MyWebSQL简介

MyWebSql 是一个基于Web的MySQL/Postgres数据库管理客户端,除了操作表格数据外,还可以对包括视图,存储过程,触发器和函数在内的对象进行控制。支持数据和查询结果的导入导出,还内置一个带语法着色功能的SQL编辑器。

2.MyWebSQL特点

1.快速,直观,开发人员友好的用户界面。
2.兼容所有主要的网络浏览器。
3.创建/编辑表结构,无需编写查询。
4.WYSIWYG编辑数据库表和查询​​数据。
5.同时编辑和删除多个记录极其轻松。
6.语法突出显示富文本sql编辑器内部的浏览器,无需任何插件。
7.将完整的数据库/表/查询结果导出到外部文件。
8.在不学习单个命令的情况下使用MySQL相关工具。
9.顺滑的界面,支持多种主题。
10.在几乎所有主要服务器配置上易于部署和安装。

二、检查本地环境

1.检查docker状态

[root@node config]# systemctl status docker |grep active
   Active: active (running) since Fri 2022-10-14 14:06:47 CST; 5h 7min ago

2.检查docker-compose版本

[root@node config]# docker-compose version
docker-compose version 1.25.0, build 0a186604
docker-py version: 4.1.0
CPython version: 3.7.4
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

三、下载MyWebSQL镜像

[root@node mywebsql]# docker pull rizo928/mywebsql-flex
Using default tag: latest
latest: Pulling from rizo928/mywebsql-flex
7dcf5a444392: Pull complete 
759aa75f3cee: Pull complete 
3fa871dc8a2b: Pull complete 
224c42ae46e7: Pull complete 
9e4d7c038c3d: Pull complete 
2bef889cbb8f: Pull complete 
be57bc4687e5: Pull complete 
60c801568b81: Pull complete 
8c2e7907f75b: Pull complete 
0b1b15dd6a1b: Pull complete 
23d29f4252f8: Pull complete 
d687c5477ed5: Pull complete 
2941b08edd24: Pull complete 
3b4a514b0015: Pull complete 
9bafa9902ec3: Pull complete 
Digest: sha256:3debe666e4b65c116e2814ae070b54079654ca561745491d51138230ca21c673
Status: Downloaded newer image for rizo928/mywebsql-flex:latest
docker.io/rizo928/mywebsql-flex:latest


四、部署MyWebSQL工具

1.编辑docker-compose.yaml

[root@node mywebsql]# cat docker-compose.yaml 
version: '3.0'
services:
  db:
    image: mariadb:10.5
    container_name: mywebsql-db
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=mindoc
      - MYSQL_DATABASE=mindoc
      - MYSQL_USER=mindoc
      - MYSQL_PASSWORD=mindoc
    volumes:
      - /data/mindoc/db:/var/lib/mysql  # Requested, specifies the path to MySQL data persistent store.
    networks:
      - mywebsql
    ports:
      - 3422:3306
  webmysql:
    image: rizo928/mywebsql-flex 
    container_name: mywebsql
    restart: always
    volumes:
      - /data/mywebsql/config:/config
    ports:
      - 9088:80
    depends_on:
      - db
    networks:
      - mywebsql

networks:
  mywebsql:

2.创建MyWebSQL容器

[root@node mywebsql]# docker-compose up -d
Creating network "mywebsql_mywebsql" with the default driver
Creating mywebsql-db ... done
Creating mywebsql    ... done

3.查看MyWebSQL容器状态

[root@node mywebsql]# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED             STATUS             PORTS                                                  NAMES
0fb0ebac00d6   mysql:5.7                      "docker-entrypoint.s…"   About an hour ago   Up About an hour   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   some-mysql
3fa0565b18d8   rizo928/mywebsql-flex          "/sbin/my_init"          2 hours ago         Up 37 minutes      0.0.0.0:9088->80/tcp, :::9088->80/tcp                  mywebsql
3f49db3d5264   mariadb:10.5                   "docker-entrypoint.s…"   2 hours ago         Up 2 hours         0.0.0.0:3422->3306/tcp, :::3422->3306/tcp              mywebsql-db

4.查看MyWebSQL日志

[root@node mywebsql]# docker logs mywebsql
Starting pre-service scritps in /etc/my_init.d
*** Running: /etc/my_init.d/startup.sh
mywebsql installed...
config directory exists
/config is Empty
starting rc.local scritps
*** Running: /etc/rc.local
Booting runit daemon...
Process runsvdir running with PID 222
Begin shutting down runit services...
Starting pre-service scritps in /etc/my_init.d
*** Running: /etc/my_init.d/startup.sh
mywebsql installed...
config directory exists
we are already configured
*** Running: /etc/rc.local
starting rc.local scritps
Booting runit daemon...
Process runsvdir running with PID 236
Begin shutting down runit services...
Starting pre-service scritps in /etc/my_init.d
*** Running: /etc/my_init.d/startup.sh
mywebsql installed...
config directory exists
we are already configured
*** Running: /etc/rc.local
starting rc.local scritps
Booting runit daemon...
Process runsvdir running with PID 236
httpd (pid 245) already running
Begin shutting down runit services...
Starting pre-service scritps in /etc/my_init.d
*** Running: /etc/my_init.d/startup.sh
mywebsql installed...
config directory exists
we are already configured
*** Running: /etc/rc.local
starting rc.local scritps
Booting runit daemon...
Process runsvdir running with PID 236
Begin shutting down runit services...
Starting pre-service scritps in /etc/my_init.d
*** Running: /etc/my_init.d/startup.sh
mywebsql installed...
config directory exists
we are already configured
*** Running: /etc/rc.local
starting rc.local scritps
Booting runit daemon...
Process runsvdir running with PID 236
httpd (pid 245) already running

五、进入MyWebSQL的web登录页

六、检查TiDB集群状态

1.检查TiDB各组件容器状态

[root@server ~]# docker ps -a
CONTAINER ID   IMAGE                                                                 COMMAND                  CREATED      STATUS          PORTS                                                                                                                                  NAMES
e3a109b3ac77   pingcap/tispark:v2.1.1                                                "/opt/spark/sbin/sta…"   3 days ago   Up 4 minutes    0.0.0.0:38081->38081/tcp, :::38081->38081/tcp                                                                                          tidb-docker-compose-master_tispark-slave0_1
750f938b9669   pingcap/tispark:v2.1.1                                                "/opt/spark/sbin/sta…"   3 days ago   Up 4 minutes    0.0.0.0:7077->7077/tcp, :::7077->7077/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                                   tidb-docker-compose-master_tispark-master_1
7fd728cc1019   pingcap/tidb:latest                                                   "/tidb-server --stor…"   3 days ago   Up 7 seconds    0.0.0.0:4000->4000/tcp, :::4000->4000/tcp, 0.0.0.0:10080->10080/tcp, :::10080->10080/tcp                                               tidb-docker-compose-master_tidb_1
0e18dbcd2efe   pingcap/tikv:latest                                                   "/tikv-server --addr…"   3 days ago   Up 20 seconds   20160/tcp                                                                                                                              tidb-docker-compose-master_tikv0_1
3789709f53b1   pingcap/tikv:latest                                                   "/tikv-server --addr…"   3 days ago   Up 4 minutes    20160/tcp                                                                                                                              tidb-docker-compose-master_tikv2_1
304c90121b1c   pingcap/tikv:latest                                                   "/tikv-server --addr…"   3 days ago   Up 4 minutes    20160/tcp                                                                                                                              tidb-docker-compose-master_tikv1_1
d3f461f3e313   pingcap/pd:latest                                                     "/pd-server --name=p…"   3 days ago   Up 19 seconds   2380/tcp, 0.0.0.0:49154->2379/tcp, :::49154->2379/tcp                                                                                  tidb-docker-compose-master_pd1_1
6b2a18f4b823   prom/pushgateway:v0.3.1                                               "/bin/pushgateway --…"   3 days ago   Up 19 seconds   9091/tcp                                                                                                                               tidb-docker-compose-master_pushgateway_1
51deb002f753   grafana/grafana:6.0.1                                                 "/run.sh"                3 days ago   Up 18 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                                                                              tidb-docker-compose-master_grafana_1
82b528f74a0c   pingcap/pd:latest                                                     "/pd-server --name=p…"   3 days ago   Up 4 minutes    2380/tcp, 0.0.0.0:49153->2379/tcp, :::49153->2379/tcp                                                                                  tidb-docker-compose-master_pd2_1
0939bfabe52b   prom/prometheus:v2.2.1                                                "/bin/prometheus --l…"   3 days ago   Up 17 seconds   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp                                                                                              tidb-docker-compose-master_prometheus_1
b2d645e3b30a   pingcap/tidb-vision:latest                                            "/bin/sh -c 'sed -i …"   3 days ago   Up 4 minutes    80/tcp, 443/tcp, 2015/tcp, 0.0.0.0:8010->8010/tcp, :::8010->8010/tcp                                                                   tidb-docker-compose-master_tidb-vision_1
c3cb9f6acc84   pingcap/pd:latest                                                     "/pd-server --name=p…"   3 days ago   Up 14 seconds   2380/tcp, 0.0.0.0:49155->2379/tcp, :::49155->2379/tcp                                                                                  tidb-docker-compose-master_pd0_1

2.本地访问TiDB集群

[root@server ~]#  mysql -h 127.0.0.1 -P 4000 -u root
Welcome to the MariaDB monitor.  Commands end with ; or \\g.
Your MySQL connection id is 5
Server version: 5.7.25-TiDB-v5.0.1 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| INFORMATION_SCHEMA |
| METRICS_SCHEMA     |
| PERFORMANCE_SCHEMA |
| ittest             |
| mysql              |
| test               |
+--------------------+
6 rows in set (0.01 sec)

七、配置MyWebSQL的特定数据库实例

1.编辑server.php

新增以下模块


               'TiDB-remote'          => array(
                                             'host'     => '192.168.3.240:4000',
                                             'driver'   => 'mysql5'
                                         )

2.查看server.php

[root@node config]# cat servers.php 
<?php
/**
 * This file is a part of MyWebSQL package
 * defining more that one server here will give user the option to select a server at login time
 * Notes:
 *   Server list is used only when authentication type is LOGIN
 *
 * @file:      config/servers.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2014 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */

	// add or remove list of servers below

	// please make sure you have the proper extensions enabled in your php config
	// to successfully connect to servers other than MySQL

	// valid drivers types are:
	// mysql4, mysql5, mysqli, sqlite, sqlite3, pgsql

	// for sqlite driver:
	//   'host' should be the folder name where sqlite databases are saved,
	//   'user' and 'password' options should be set for additional security

	// if true, a free form server name will be allowed to be entered instead of selecting
	// existing one from the list
	$ALLOW_CUSTOM_SERVERS = TRUE;

	// if the above is true, only the following server types will be allowed
	// sqlite is not recommended here, in order to avoid possible file system attacks
	$ALLOW_CUSTOM_SERVER_TYPES = "mysql,pgsql";

	$SERVER_LIST = array(
		'Localhost MySQL'           => array(
		                             'host'     => 'localhost',
		                             'driver'   => extension_loaded('mysqli') ? 'mysqli' : 'mysql5'
		                         ),
#                'remote  MySQL'             => array(^M
#                                             'host'     => '192.168.3.152:3776',^M
#                                             'driver'   => extension_loaded('mysqli') ? 'mysqli' : 'mysql5'^M
#                                         ),^M

		'SQLite Databases'          => array(
		                             'host'     => 'c:/sqlitedb/',
		                             'driver'   => 'sqlite3',
		                             'user'     => 'root',    // set this yourself
		                             'password' => 'sqlite'  // set this yourself
		                         ),
 		'Localhost PostgreSQL'     => array(
		                             'host'     => 'localhost',
		                             'driver'   => 'pgsql'
		                         ),

                'TiDB-remote'          => array(
		                             'host'     => '192.168.3.240:4000',
		                             'driver'   => 'mysql5'
		                         )


		/*'MySQL Proxy Server'  => array(
		                             'host'     => 'localhost:4040',
		                             'driver'   => 'mysql5'
		                         ),
		'MySQL 4'             => array(
		                             'host'     => 'localhost',
		                             'driver'   => 'mysql4'
		                         ),
		*/
	);
?>


3.重启MyWebSQL容器

[root@node config]# docker restart mywebsql
mywebsql

八、MyWebSQL工具连接TiDB数据库

1.进入MyWebSQL的登录页

2.连接TiDB数据库

3.查看TiDB的用户

4.查看数据表

猿创征文|国产数据库实战之使用docker部署tidb集群(代码片段)

猿创征文|国产数据库实战之使用Docker部署TiDB集群一、TiDB介绍1.TiDB简介2.TiDB特性3.TiDB集群整体架构4.TiDB集群各部分介绍5.本次TiDB集群组件二、检查本地环境1.检查docker状态2.检查docker版本3.检查docker-compose版本三、下载tidb-docker-comp... 查看详情

猿创征文|国产数据库实战之使用docker部署tidb集群(代码片段)

猿创征文|国产数据库实战之使用Docker部署TiDB集群一、TiDB介绍1.TiDB简介2.TiDB特性3.TiDB集群整体架构4.TiDB集群各部分介绍5.本次TiDB集群组件二、检查本地环境1.检查docker状态2.检查docker版本3.检查docker-compose版本三、下载tidb-docker-comp... 查看详情

猿创征文|国产数据实战之docker部署mywebsql数据库管理工具(代码片段)

猿创征文|国产数据实战之docker部署MyWebSQL数据库管理工具一、MyWebSQL介绍1.MyWebSQL简介2.MyWebSQL特点二、检查本地环境1.检查docker状态2.检查docker-compose版本三、下载MyWebSQL镜像四、部署MyWebSQL工具1.编辑docker-compose.yaml2.创建MyWebSQL容器... 查看详情

猿创征文|国产数据库实战使用docker部署polardb-x云原生分布式开源数据库(代码片段)

猿创征文|【国产数据库实战】使用docker部署PolarDB-X云原生分布式开源数据库一、PolarDB-X介绍1.PolarDB-X简介2.PolarDB-X特点二、检查docker版本三、检查docker配置信息四、下载PolarDB-X镜像五、部署PolarDB-X1.创建PolarDB-X容器2.检查PolarDB-X容... 查看详情

猿创征文|国产数据库之使用pxd在docker环境下部署polardb-x集群(代码片段)

猿创征文|国产数据库之使用PXD在Docker环境下部署PolarDB-X集群一、PolarDB-X介绍1.PolarDB-X简介2.PolarDB-X特点二、PolarDB-X的产品架构1.产品架构图2.PolarDB-X架构介绍三、环境规划四、Docker安装1.安装系统工具2.配置docker的yum仓库源3.安装doc... 查看详情

猿创征文|国产数据库实战之tidb数据库快速入门(代码片段)

猿创征文|国产数据库实战之TiDB数据库快速入门一、系统检查1.检查系统版本2.查看本地IP地址3.TiDB集群介绍二、快速部署本地测试集群1.安装TiUP工具2.声明全局环境变量3.快速部署TiDB集群三、连接TiDB数据库1.新开一个session以访问T... 查看详情

猿创征文|使用docker部署opengauss国产数据库(代码片段)

猿创征文|使用Docker部署openGauss国产数据库一、openGauss介绍1.openGauss简介2.openGauss产品定位3.支持的架构和操作系统版本二、检查宿主机环境1.检查系统版本2.检查Docker状态三、下载openGauss镜像1.进入docker官方镜像仓库2.openGauss镜像介... 查看详情

猿创征文|国产数据库之opengauss的单机主备部署及快速入门(代码片段)

猿创征文|国产数据库之openGauss的单机主备部署及快速入门一、openGauss介绍1.openGauss简介2.openGauss特点3.openGauss的逻辑架构图二、环境检查1.节点规划2.操作系统版本三、安装前环境配置1.检查admin普通用户2.给安装目录授权3.配置/etc/... 查看详情

猿创征文|国产数据库之在k8s环境下部署radondbmysql集群(代码片段)

猿创征文|国产数据库之在k8s环境下部署RadonDBMySQL集群一、RadonDBMySQL介绍1.RadonDBMySQL简介2.RadonDBMySQL的应用场景3.RadonDBMySQL核心功能4.RadonDBMySQL架构图二、检查本地k8s环境1.检查k8s节点状态2.检查helm版本三、添加helm仓库1.添加helm仓库... 查看详情

猿创征文|云原生|24docker运行数据库实战之mongodb(代码片段)

作者简介:🏅云计算领域优质创作者🏅新星计划第三季python赛道第一名🏅 阿里云ACE认证高级工程师🏅✒️个人主页:小鹏linux💊个人社区:小鹏linux(个人社区)欢迎您的加入!目录... 查看详情

猿创征文|云原生之docker使用docker部署flare个人导航网页(代码片段)

猿创征文|【云原生之Docker】使用Docker部署Flare个人导航网页一、卷首语二、Flare介绍1.Flare介绍2.Flare的硬件配置要求3.Flare的特点三、检查本地docker环境1.检查docker服务状态2.检查docker配置信息3.开启IPv4forwarding四、安装docker-com... 查看详情

猿创征文|云原生|25docker运行数据库实战之redis(代码片段)

作者简介:🏅云计算领域优质创作者🏅新星计划第三季python赛道第一名🏅 阿里云ACE认证高级工程师🏅✒️个人主页:小鹏linux💊个人社区:小鹏linux(个人社区)欢迎您的加入!为大... 查看详情

猿创征文|云原生领域之容器日常使用工具推荐(代码片段)

猿创征文|云原生领域之容器日常使用工具推荐一、云原生介绍1.云原生定义2.容器技术简介3.云原生相关工具导航二、Docker1.Docker介绍①Docker简介②Docker特点③Docker的三个基本概念④Docker的架构图2.Docker的优势3.Docker的使用效果①... 查看详情

猿创征文|破世界纪录的国产数据库-oceanbase

...专栏而异,均自成体系,不足之处请大家指正。猿创征文|破世界纪录的国产数据库-OceanBase本文关键字:VLDB、国产、数据库、OceanBase、金融文章目录猿创征文|破世界纪录的国产数据库-OceanBase一、7.07亿tpmC1.T... 查看详情

猿创征文|国产数据库新的飞跃(代码片段)

一、数据库类型首先,我们来说一下当前数据库的类型吧,当前数据库生态可以大致分类三类:一是传统商业数据库,以Oracle为代表,其在40余年时间里所创造的数据库帝国已拥有了极其完善的生态;二是开源数据库,以MySQL、Po... 查看详情

猿创征文|国产数据库tidb架构特性(代码片段)

前言TiDB是PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(HybridTransactionalandAnalyticalProcessing,HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、... 查看详情

猿创征文|分布式国产数据库tidb从入门到实战(代码片段)

写在前面本文讲解的是目前欢迎程度最高分布式国产数据库TiDB,详细讲解了TiDB的由来、架构、SQL基本操作、SpringBoot整合TiDB等内容。目录写在前面一、概述二、与MySQL兼容性对比三、安装使用四、SQL基本操作4.1、库操作4.2、... 查看详情

猿创征文|使用springboot整合国产数据库连接池druid(代码片段)

1前言Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。说到数据库连接池大家可能首先会想到C3P0,DBCP等相关。今天给大家介绍的是由国产(阿里)的一种连接池技术࿱... 查看详情