Debezium教程翻译03:启动mysql数据库
发布日期:2021-06-30 11:07:44 浏览次数:2 分类:技术文章

本文共 2258 字,大约阅读时间需要 7 分钟。

启动mysql数据库

目前,我们已经启动了Zookeeper和Kafka,但是还没有数据库服务器,Debezium可以从中捕获变化。现在,让我们使用一个示例数据库启动一个MySQL服务器。

打开一个新的终端,使用它启动一个新的容器,运行一个预先配置了库存数据的MySQL数据库服务器:

$ 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环境变量设置为特定值。

您应该可以在终端中看到如下内容:

...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服务器:

$ 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命令行客户端,并指定正确的选项,以便能够正确连接。

容器输出的内容类似如下:

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 3Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

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

mysql> use inventory;

然后列出数据库中的表:

mysql> show tables;

应显示:

+---------------------+| Tables_in_inventory |+---------------------+| customers           || orders              || products            || products_on_hand    |+---------------------+4 rows in set (0.00 sec)

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

mysql> SELECT * FROM customers;

转载地址:https://it4all.blog.csdn.net/article/details/85054441 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql的四种隔离级别
下一篇:idea查看某个类的提交记录

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月24日 11时35分10秒