前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Debezium教程翻译03:启动mysql数据库

Debezium教程翻译03:启动mysql数据库

作者头像
IT云清
发布2019-01-22 15:38:55
2.2K0
发布2019-01-22 15:38:55
举报
文章被收录于专栏:IT云清IT云清

启动mysql数据库

目前,我们已经启动了Zookeeper和Kafka,但是还没有数据库服务器,Debezium可以从中捕获变化。现在,让我们使用一个示例数据库启动一个MySQL服务器。 打开一个新的终端,使用它启动一个新的容器,运行一个预先配置了库存数据的MySQL数据库服务器:

代码语言:javascript
复制
$ docker run -it --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=debezium -e MYSQL_USER=mysqluser -e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8

它使用debezium/example-mysql镜像的0.8版本运行一个新的容器,该映像基于mysql:5.7映像,定义并填充一个示例“inventory”数据库,并使用密码dbz创建一个debezium用户,该用户具有debezium mysql连接器所需的最低权限。该命令将mysql名称分配给容器,以便稍后可以方便地引用它。"-it"选项使容器具有交互性,这意味着它将终端的标准输入和输出附加到容器上,以便您可以看到容器中发生了什么。"–rm"命令可以使Docker在容器停止时移除容器。该命令将容器中的端口3306(默认MySQL端口)映射到Docker主机上的相同端口,以便容器外的软件可以连接到数据库服务器。最后,它还三次使用-e选项将MYSQL_ROOT_PASSWORD、MYSQL_USER和MYSQL_PASSWORD环境变量设置为特定值。 您应该可以在终端中看到如下内容:

代码语言:javascript
复制
...
017-09-21T07:18:50.824629Z 0 [Note] mysqld: ready for connections.
Version: '5.7.19-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)

注意,MySQL服务器在修改配置时启动和停止几次。上面列出的最后一行报告MySQL服务器正在运行,可以使用了。

启动一个Mysql命令行客户端

打开一个新的终端,为MySQL命令行客户端启动一个新的容器,并连接到mysql容器中运行的MySQL服务器:

代码语言:javascript
复制
$ docker run -it --rm --name mysqlterm --link mysql --rm mysql:5.7 sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

这里我们使用mysql:5.7镜像启动容器,命名容器mysqlterm,并将其链接到数据库服务器运行的mysql容器。rm选项告诉Docker在容器停止时移除它,命令的其余部分定义容器应该运行的shell命令。这个shell命令运行MySQL命令行客户端,并指定正确的选项,以便能够正确连接。 容器输出的内容类似如下:

代码语言:javascript
复制
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql>

与其他容器不同,这个容器运行一个生成提示符的进程。我们将使用提示符与数据库交互。首先,切换到“inventory”数据库:

代码语言:javascript
复制
mysql> use inventory;

然后列出数据库中的表:

代码语言:javascript
复制
mysql> show tables;

应显示:

代码语言:javascript
复制
+---------------------+
| Tables_in_inventory |
+---------------------+
| customers           |
| orders              |
| products            |
| products_on_hand    |
+---------------------+
4 rows in set (0.00 sec)

使用MySQL命令行客户端浏览数据库并查看数据库中预加载的数据。例如:

代码语言:javascript
复制
mysql> SELECT * FROM customers;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年12月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 启动mysql数据库
  • 启动一个Mysql命令行客户端
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档