📜  显示数据库 mysql docker - SQL (1)

📅  最后修改于: 2023-12-03 15:26:20.253000             🧑  作者: Mango

显示数据库 MySQL Docker - SQL

在容器环境下使用 MySQL 数据库的方式有很多,其中一种方法是使用 Docker。在本文中,我们将介绍如何在 Docker 中显示 MySQL 数据库并执行 SQL 查询。

安装 Docker

首先,您需要安装 Docker。您可以在Docker的官方网站上找到安装说明。

创建 MySQL Docker 容器
  1. 在命令行中输入以下命令创建一个新的 MySQL 容器:

    $ docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
    

    这个命令会创建一个名为 my-mysql 的容器,然后将 MySQL 的 root 密码设置为 my-secret-pw。

  2. 等待 MySQL 容器启动,或者使用以下命令检查容器的状态:

    $ docker ps
    

    如果容器已经启动,则可以继续下一步。

连接 MySQL 容器
  1. 在命令行中输入以下命令连接到 MySQL 容器:

    $ docker exec -it my-mysql mysql -uroot -p
    

    这个命令会连接到 my-mysql 容器,并使用 root 用户身份登录 MySQL。

  2. 输入 MySQL root 用户的密码(在这里是 my-secret-pw),然后按 Enter 键。

    Enter password:
    

    如果密码正确,您应该会看到以下消息:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 5
    Server version: 5.7.22 MySQL Community Server (GPL)
    
    [...]
    

    现在您已经成功连接到 MySQL 服务器了。

显示数据库
  1. 在 MySQL 命令提示符下,输入以下命令显示可用的数据库:

    SHOW DATABASES;
    

    这将返回 MySQL 服务器中所有可用的数据库列表。示例输出如下:

    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    

    在这个例子中,我们有四个可用的数据库:information_schema、mysql、performance_schema 和 sys。

执行 SQL 查询
  1. 选择一个数据库:

    USE mysql;
    

    这个命令会选择 MySQL 服务器中的 mysql 数据库。

  2. 在 mysql 数据库中,输入以下命令:

    SELECT * FROM user;
    

    这会返回 mysql 数据库中 user 表的所有行。示例输出如下:

    +-----------+--------------+-----------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+---------------------+------------+------------+--------------+------------+-----------------------+------------------+------------------+---------------+-----------------+---------------+----------------+---------------------+--------------------+---------------------+-----------------------+------------------------+--------------------------+----------------+---------------------------+------------------------+------------------------+------------------------+---------------------+-----------------+-----------------------+---------------------+---------------------+-------------------+---------------+
    | Host      | User         | Password              | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv     | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv     | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type              | ssl_cipher             | x509_issuer          | x509_subject            | max_questions   | max_updates    | max_connections       | max_user_connections | plugin                | authentication_string | password_expired       | password_last_changed | password_lifetime_days | account_locked_until | Create_role_priv |
    +-----------+--------------+-----------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+---------------------+------------+------------+--------------+------------+-----------------------+------------------+------------------+---------------+-----------------+---------------+----------------+---------------------+--------------------+---------------------+-----------------------+------------------------+--------------------------+----------------+---------------------------+------------------------+------------------------+------------------------+---------------------+-----------------+-----------------------+---------------------+---------------------+-------------------+---------------+
    | localhost | root         | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y                   | Y          | Y          | Y            | Y          | Y                     | Y                | Y                | Y             | Y               | Y             | Y              | Y                   | Y                  | Y                 |                      |                        |                     |                         | 0               | 0             | 0                     | 0                    | mysql_native_password | *E0D55CCDF27C6C6C2DEC6EC12CC498F76EEEFC2D | N                     | 2022-02-27 07:14:35      |                   NULL | N                |
    | localhost | mysql.sys   | *THISISNOTAVALIDPASSWORDHASH34582348 | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N                   | N          | N          | N            | N          | N                     | N                | N                | N             | N               | N             | N              | N                   | N                  | N                 |                      |                        |                     |                         | 0               | 0             | 0                     | 0                    | mysql_native_password | *THISISNOTAVALIDPASSWORDHASH34582348       | N                     | 2022-02-27 07:14:35      |                   NULL | N                |
    +-----------+--------------+-----------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+---------------------+------------+------------+--------------+------------+-----------------------+------------------+------------------+---------------+-----------------+---------------+----------------+---------------------+--------------------+---------------------+-----------------------+------------------------+--------------------------+----------------+---------------------------+------------------------+------------------------+------------------------+---------------------+-----------------+-----------------------+---------------------+---------------------+-------------------+---------------+
    

    如果您要执行其他 SQL 查询,请输入相应的命令。

结论

使用 Docker 显示 MySQL 数据库是一种相对简单的方法。通过执行几个命令,您可以创建 MySQL Docker 容器,连接到该容器并执行 SQL 查询。而使用 Docker 还可以避免在本地机器上安装 MySQL,这也许是一个好处。

以上是显示数据库 MySQL Docker - SQL 的介绍,希望对程序员们有所帮助。